/* =====================================================================
   Gaycels layer on top of the Revolution theme (MyBB 1.8.41).
   Loaded last, so it overrides Revolution's own stylesheets.
   ===================================================================== */

/* ---- Fonts (served from this server, no third-party requests) ---- */
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-400-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-ext-400-normal.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 400; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-400-italic.woff2) format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-600-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-ext-600-normal.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-700-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-display: swap;
	src: url(../../../images/revolution/vendor/opensans/open-sans-latin-ext-700-normal.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---- Base ----
   Palette: page #1c2338, panel #222a42, row #252e48, line #2e3957,
   text #d6dcea, muted #8f9ab8, link #4fb3ea, accent #e8662b          */
body {
	background: #1c2338;
	color: #d6dcea;
	font-family: 'Open Sans', 'Segoe UI', Arial, sans-serif;
	font-size: 14px;
}
#container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	color: #d6dcea;
	font-family: 'Open Sans', 'Segoe UI', Arial, sans-serif;
	font-size: 14px;
	box-sizing: border-box;
}
#content {
	background: transparent;
	box-shadow: none;
	-webkit-box-shadow: none;
	padding: 16px 0 30px;
	border: 0;
}
a:link, a:visited { color: #4fb3ea; }
a:hover, a:active { color: #8ccdf3; }
.smalltext { font-size: 12px; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .gc-tab-radio:focus-visible + label {
	outline: 2px solid #29a9eb;
	outline-offset: 2px;
}

/* ---- Header band ---- */
#gc-header {
	background: linear-gradient(100deg, #2d78b8 0%, #5a4bb0 42%, #b43a78 76%, #d8394f 100%);
	color: #fff;
	text-align: left;
	position: relative;
	z-index: 20;
}
#gc-header::after {  /* curved lower edge */
	content: "";
	display: block;
	height: 28px;
	margin-top: -28px;
	background: #1c2338;
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	position: relative;
	z-index: -1;
}
#gc-header .gc-inner, #gc-footer .gc-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}
.gc-bar { border-bottom: 1px solid rgba(255,255,255,.14); }
.gc-bar .gc-inner {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 64px;
}
.gc-logo img { display: block; height: 36px; width: auto; }
.gc-logo { flex: none; }
.gc-bar .gc-inner { padding-bottom: 0; }
#gc-header a:link, #gc-header a:visited { color: #fff; }

ul.gc-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	flex: 1;
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.gc-nav > li { margin: 0 2px; }
ul.gc-nav > li > a, ul.gc-nav summary, .gc-user > a, .gc-user summary {
	display: block;
	padding: 9px 8px;
	border-radius: 3px;
	white-space: nowrap;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	cursor: pointer;
	background: none;
}
ul.gc-nav > li > a:hover, ul.gc-nav summary:hover, .gc-user > a:hover, .gc-user summary:hover,
details.gc-drop[open] > summary { background: rgba(255,255,255,.14); }
/* icons for the stock menu links (header_menu_* templates) */
ul.gc-nav a::before {
	font-family: FontAwesome;
	margin-right: 6px;
	font-size: 13px;
	display: inline-block;
	width: 1em;
	text-align: center;
}
ul.gc-nav a.forums::before { content: "\f086"; }
ul.gc-nav a.portal::before { content: "\f015"; }
ul.gc-nav a.search::before { content: "\f002"; }
ul.gc-nav a.memberlist::before { content: "\f0c0"; }
ul.gc-nav a.calendar::before { content: "\f073"; }
ul.gc-nav a.help::before { content: "\f128"; }
ul.gc-nav ul.gc-menu a::before { content: none; }

.gc-user { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.gc-user a.gc-pmcount {
	min-width: 22px;
	padding: 3px 7px;
	text-align: center;
	background: rgba(0,0,0,.25);
	border-radius: 11px;
	font-size: 12px;
}

/* Dropdowns: native <details>, so they open without JavaScript */
details.gc-drop { position: relative; }
details.gc-drop > summary { list-style: none; }
details.gc-drop > summary::-webkit-details-marker { display: none; }
ul.gc-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 190px;
	margin: 6px 0 0;
	padding: 6px 0;
	list-style: none;
	background: #222a42;
	border: 1px solid #36426a;
	border-radius: 4px;
	box-shadow: 0 10px 30px rgba(0,0,0,.45);
	z-index: 100;
	text-align: left;
}
ul.gc-menu.gc-menu-right { left: auto; right: 0; }
ul.gc-menu li { display: block; margin: 0; }
#gc-header ul.gc-menu a:link, #gc-header ul.gc-menu a:visited {
	display: block;
	padding: 7px 16px;
	color: #d6dcea;
	font-size: 13px;
	background: none;
}
#gc-header ul.gc-menu a:hover { background: #2e3957; color: #fff; }

/* Guest welcome area */
#gc-hero { text-align: center; padding: 26px 0 64px; }
/* no welcome box for members: leave room under the bar for the curved edge */
#gc-header > .gc-bar:last-child { padding-bottom: 30px; border-bottom: 0; }
#gc-hero h1 { margin: 0 0 14px; font-size: 30px; font-weight: 400; color: #fff; }
#gc-hero p { margin: 0 auto 22px; max-width: 68ch; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.9); }
.gc-hero-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
#gc-header a.gc-btn:link, #gc-header a.gc-btn:visited {
	display: inline-block;
	min-width: 96px;
	padding: 10px 28px;
	border-radius: 2px;
	font-size: 15px;
	color: #fff;
}
#gc-header a.gc-btn-login { background: #29a9eb; }
#gc-header a.gc-btn-register { background: #e2601c; }
#gc-header a.gc-btn:hover { filter: brightness(1.1); }

/* ---- Breadcrumb bar with quick search ---- */
.gc-crumbbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #222a42;
	border: 1px solid #2e3957;
	border-radius: 3px;
	padding: 6px 8px 6px 14px;
	margin-bottom: 16px;
	min-height: 34px;
}
.gc-crumbbar .navigation { color: #8f9ab8; font-size: 13px; }
.gc-crumbbar .navigation a:link, .gc-crumbbar .navigation a:visited { color: #c9d1e3; font-size: 13px; }
.gc-crumbbar .navigation .active { color: #8f9ab8; font-size: 13px; }
.gc-crumbbar .navigation img { vertical-align: middle; opacity: .6; }
.gc-search form { margin: 0; }
.gc-search #search, .gc-search fieldset { border: 0; margin: 0; padding: 0; display: flex; gap: 4px; }
.gc-search { margin-left: auto; }
.gc-search input.textbox, #search input.textbox { width: 200px; background: #1b2135; border: 1px solid #36426a; }

/* ---- Tables and panels ---- */
.tborder {
	background: #222a42;
	border: 1px solid #2c3653;
	border-radius: 4px;
	box-shadow: none;
	-webkit-box-shadow: none;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 4px;
}
.thead, .trow_sep {
	background: #222a42;
	color: #e8ecf5;
	border-bottom: 1px solid #2e3957;
	box-shadow: none;
	-webkit-box-shadow: none;
	text-shadow: none;
	padding: 12px 14px;
	font-size: 17px;
}
.thead strong { font-weight: 400; text-transform: none; }
.thead a:link, .thead a:visited, .thead a:hover, .thead a:active {
	color: #e8ecf5;
	font-family: inherit;
	font-size: 17px;
}
.thead .smalltext, .thead .smalltext a:link, .thead .smalltext a:visited { font-size: 12px; color: #8f9ab8; }
.expcolimage img { filter: invert(.8); opacity: .75; }
.tcat {
	background: #273150;
	color: #8f9ab8;
	border-top: 0;
	border-bottom: 1px solid #2e3957;
	font-family: inherit;
}
.tcat a:link, .tcat a:visited, .tcat a:hover { color: #b8c2da; }
.trow1, .trow2, .tfoot {
	background: #252e48;
	color: #d6dcea;
	border-top: 0;
	border-bottom: 1px solid #2e3957;
	font-family: inherit;
	font-size: 14px;
}
.trow2 { background: #27304b; }
.tfoot { background: #222a42; color: #8f9ab8; }
.tfoot a:link, .tfoot a:visited { color: #b8c2da; }
.trow_shaded { background: #2d2f48; }
.trow_selected, tr.trow_selected td { background: #34405f; color: #fff; }
.tborder tbody tr:last-child > td { border-bottom: 0; }
td.trow1 a:link, td.trow1 a:visited, td.trow2 a:link, td.trow2 a:visited { color: #e8ecf5; }
td.trow1 .smalltext, td.trow2 .smalltext { color: #8f9ab8; }
td.trow1 .smalltext a:link, td.trow2 .smalltext a:link,
td.trow1 .smalltext a:visited, td.trow2 .smalltext a:visited { color: #b8c2da; }

/* Forum rows */
.forum_status { width: 44px; height: 44px; font-size: 26px; }
.forum_status i { line-height: 44px; }
.forum_on { color: #e8662b; }
.forum_off, .forum_offlock, .forum_offlink, .forum_offclose { color: #5b6a8f; }
.forum_off i { opacity: 1; }
.gc-desc { color: #e8662b; }
td strong > a:link, td strong > a:visited { font-size: 15px; font-weight: 600; }

/* Index sidebar */
.gc-sidebar { width: 22%; padding-left: 12px !important; }
.gc-sidebar .thead { font-size: 16px; }
.gc-sidebar .latestthreads_portal td { padding: 10px 4px; border-bottom: 1px solid #2e3957; background: transparent; }
.gc-sidebar .latestthreads a:link, .gc-sidebar .latestthreads a:visited { color: #e8ecf5; }
.gc-sidebar .latestthreads .smalltext a:link, .gc-sidebar .latestthreads .smalltext a:visited { color: #4fb3ea; }

/* ---- Forms and buttons ---- */
input.textbox, textarea, select {
	background: #1b2135;
	color: #d6dcea;
	border: 1px solid #36426a;
	border-radius: 2px;
	-webkit-box-shadow: 0 0 0 1000px #1b2135 inset !important;
	box-shadow: 0 0 0 1000px #1b2135 inset !important;
	-webkit-text-fill-color: #d6dcea;
}
button, input.button {
	background: #2e3957;
	background-image: none;
	border: 1px solid #3c4870;
	color: #e8ecf5;
	text-shadow: none;
	border-radius: 2px;
}
button:hover, input.button:hover { background: #3a4769; }
.gc-search input.button { background: #29a9eb; border-color: #29a9eb; color: #fff; }
a.button:link, a.button:visited, a.button4:link, a.button4:visited {
	background: #29a9eb;
	background-image: none;
	border: 0;
	color: #fff;
	text-shadow: none;
	border-radius: 2px;
	box-shadow: none;
}
a.button5:link, a.button5:visited { background: #e2601c; color: #fff; border: 0; text-shadow: none; }
fieldset { border-color: #2e3957; }
legend { color: #e8ecf5; }

/* ---- Pagination ---- */
.pagination a, .pagination2 a:link, .pagination2 a:visited {
	background: #252e48;
	border: 1px solid #2e3957;
	box-shadow: none;
	-webkit-box-shadow: none;
	text-shadow: none;
	color: #d6dcea;
	border-radius: 2px;
}
.pagination a:hover { background: #34405f; }
.pagination .pagination_current { background: #d6dcea; color: #1c2338; border-radius: 2px; }

/* ---- Posts ---- */
.post .post_author {
	background: #222a42;
	border-top: 1px solid #2e3957;
	border-bottom: 1px solid #2e3957;
}
.post .post_head { border-bottom: 1px solid #2e3957; font-family: inherit; }
.post .post_head span.post_date, .post .post_head span.edited_post, .post .post_head span.edited_post a { color: #8f9ab8; }
.post_body { font-size: 15px; line-height: 1.6; color: #d6dcea; }
.post_controls { background: #222a42; border-color: #2e3957; }
.post_content .signature { border-top: 1px dashed #36426a; }
blockquote {
	background: #1f2640;
	border: 1px solid #36426a;
	border-left: 3px solid #29a9eb;
	text-shadow: none;
	font-family: inherit;
	font-size: 14px;
}
blockquote cite { border-bottom: 1px solid #36426a; color: #b8c2da; }
.codeblock { background: #1b2135; border: 1px solid #36426a; }
.codeblock .title { border-bottom: 1px solid #36426a; }

/* ---- Menus, notices, modals ---- */
.popup_menu, .modal { background: #222a42; border: 1px solid #36426a; text-shadow: none; }
.popup_menu .popup_item { color: #d6dcea; text-shadow: none; font-family: inherit; }
.popup_menu .popup_item:hover { background: #2e3957; color: #fff; text-shadow: none; }
.pm_alert { background: #243452; border: 1px solid #2d78b8; color: #d6dcea; text-shadow: none; font-size: 13px; }
.red_alert { background: #4a2230; border: 1px solid #d8394f; color: #ffd6dc; text-shadow: none; }
.tipsy-inner { background: #0f1424; font-family: inherit; }

/* ---- Profile tabs (radio buttons + CSS, no JavaScript) ---- */
.gc-tabs { position: relative; }
.gc-tabs .gc-tab-radio { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gc-tabs .gc-tab-label {
	display: inline-block;
	padding: 10px 15px;
	margin-right: 2px;
	background: #222a42;
	border: 1px solid #2e3957;
	border-bottom: 0;
	color: #b8c2da;
	cursor: pointer;
	border-radius: 3px 3px 0 0;
}
.gc-tabs .gc-tab-radio:checked + .gc-tab-label { background: #252e48; color: #fff; }
.gc-tabs .tab-content2 {
	display: none;
	padding: 15px;
	background: #252e48;
	border: 1px solid #2e3957;
}
#gc_ptab1:checked ~ #tab-1, #gc_ptab2:checked ~ #tab-2, #gc_ptab3:checked ~ #tab-3,
#gc_ptab4:checked ~ #tab-4, #gc_ptab5:checked ~ #tab-5 { display: block; }

/* ---- Footer ---- */
#gc-footer {
	background: #161c2e;
	border-top: 1px solid #2e3957;
	color: #7d88a6;
	font-size: 13px;
	text-align: left;
}
.gc-footer-top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 14px 0;
	border-bottom: 1px solid #242c44;
}
ul.gc-footer-links { margin: 0; padding: 0; list-style: none; }
ul.gc-footer-links li { display: inline-block; margin-right: 14px; }
#gc-footer a:link, #gc-footer a:visited { color: #a8b2cc; }
#gc-footer a:hover { color: #fff; }
.gc-footer-select form, .gc-footer-select div { display: inline-block; margin: 0 0 0 6px; }
.gc-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 12px 0 18px; }
.footmenu { background: transparent; border: 0; }

@media (max-width: 900px) {
	.gc-bar .gc-inner { flex-wrap: wrap; justify-content: center; padding-top: 8px; padding-bottom: 8px; }
	ul.gc-nav { order: 3; flex-basis: 100%; }
	.gc-crumbbar { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

.footmenu .gc-label { display: none; }
.post .post_author, .user { border-radius: 3px; }
.stposts .post_content { background: #252e48; }

/* ---- Post wrapper (whole post, so MyBB's delete/restore/ignore logic applies to it) ---- */
.post.gc-post {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0 0 14px;
	overflow: visible;
}
.gc-post .post_author { float: none; width: auto; margin: 0; }
.gc-post .post_meta { color: #8f9ab8; font-size: 12px; overflow: hidden; }
.gc-post.deleted_post .stposts .post_content { background: #3a2a38; }
.gc-post.unapproved_post .stposts .post_content { background: #3a3526; }

/* Rules from MyBB 1.8.41's stock stylesheet that Revolution predates */
.post:not(.deleted_post) .postbit_qrestore,
.post:not(.deleted_post) .status_type,
.post.deleted_post .postbit_mirage { display: none; }
.thread_start_datetime { color: #8f9ab8; }
blockquote cite > span { float: right; font-weight: normal; font-size: 12px; color: #8f9ab8; }
input.textbox.portal_search { width: 68%; }
.imminent_banned { color: #ff6b6b; }
.high_banned { color: #ff4d4d; }
.moderate_banned { color: #ff9c4d; }
.low_banned { color: #6fd39a; }
.poll_votedfor { background: #34405f; border: 1px solid #4a5987; }
.jGrowl .jGrowl-notification { min-height: 40px; }
.jGrowl .jGrowl-notification.jgrowl_success { background: #1f5f3f; border: 1px solid #2d8a5a; color: #fff; }
.jGrowl .jGrowl-notification.jgrowl_error { background: #6b2231; border: 1px solid #d8394f; color: #fff; }
.jGrowl .jGrowl-notification.jgrowl_process, .jGrowl .jGrowl-closer { background: #5c4d1a; border: 1px solid #8a7426; color: #fff; }
.deleted_post_collapsed, .ignored_post, .deleted_post_hidden {
	background: #252e48;
	border: 1px solid #2e3957;
	border-radius: 3px;
	color: #b8c2da;
}
.modal {
	padding: 0;
	background: #222a42;
	border: 1px solid #36426a;
	border-radius: 4px;
	box-shadow: 0 12px 40px rgba(0,0,0,.55);
}
.modal .tborder { border: 0; margin: 0; }
/* Custom profile fields (registration + User CP): full-width answers */
fieldset table:has([name^="profile_fields"]) { width: 100%; }
textarea[name^="profile_fields"] {
	width: 100% !important;
	min-height: 140px;
	box-sizing: border-box;
	resize: vertical;
}
input.textbox[name^="profile_fields"] { width: 100%; box-sizing: border-box; }

.author_avatar img {
	width: 100px !important;
	height: 100px !important;
	object-fit: cover;
	object-position: center;
}

/* =====================================================================
   Header polish: moving gradient, wavy edge, sliding menu highlight,
   rounded avatars. Paste at the bottom of gaycels.css.
   ===================================================================== */
 
/* 1. Slowly shifting gradient */
#gc-header {
	background: linear-gradient(100deg, #2d78b8 0%, #5a4bb0 25%, #b43a78 50%, #2f8f7a 75%, #2d78b8 100%);
	background-size: 300% 100%;
	animation: gc-shift 19s ease-in-out infinite alternate;
}
@keyframes gc-shift {
	from { background-position: 0% 50%; }
	to   { background-position: 100% 50%; }
}
 
/* 2. Wavy lower edge (two layered waves in the page colour) */
#gc-header::after {
	height: 46px;
	margin-top: -46px;
	border-radius: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath fill='%231c2338' fill-opacity='.45' d='M0 22C220 52 470 4 760 26s520 30 680 4V60H0Z'/%3E%3Cpath fill='%231c2338' d='M0 40C260 14 520 58 800 36S1230 14 1440 38V60H0Z'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}
#gc-hero { padding-bottom: 76px; }
#gc-header > .gc-bar:last-child { padding-bottom: 44px; }
 
/* 3. Full-height menu items with a sliding highlight */
.gc-bar .gc-inner { align-items: stretch; }
.gc-logo { align-self: center; }
ul.gc-nav, .gc-user { align-self: stretch; align-items: stretch; }
ul.gc-nav > li, .gc-user > details, .gc-user > a:not(.gc-pmcount) { display: flex; margin: 0; }
.gc-user > a.gc-pmcount { align-self: center; margin-left: 6px; }
details.gc-drop { display: flex; }
ul.gc-nav > li > a, ul.gc-nav summary, .gc-user > a:not(.gc-pmcount), .gc-user summary {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 0 12px;
	border-radius: 0;
	background: linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)) left top / 0% 100% no-repeat !important;
	transition: background-size .25s ease;
}
ul.gc-nav > li > a:hover, ul.gc-nav summary:hover,
.gc-user > a:not(.gc-pmcount):hover, .gc-user summary:hover,
details.gc-drop[open] > summary,
ul.gc-nav > li > a:focus-visible, .gc-user > a:focus-visible, summary:focus-visible {
	background-size: 100% 100% !important;
}
ul.gc-menu { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
 
/* 4. Rounded avatars everywhere */
.author_avatar img,
img[src*="uploads/avatars/"],
img[src*="default_avatar"] {
	border-radius: 10%;
}



/* =====================================================================
   Posts: XenForo-style message cards. Paste at the bottom of gaycels.css.
   ===================================================================== */
.post.gc-post { margin: 0 0 12px; }
.gc-msg {
	display: flex;
	background: #252e48;
	border: 1px solid #2e3957;
	border-radius: 4px;
	overflow: hidden;
}

/* Author column */
.gc-msg-user {
	flex: 0 0 170px;
	padding: 14px 12px;
	background: #2a3452;
	border-right: 1px solid #2e3957;
	text-align: center;
	box-sizing: border-box;
}
.gc-msg-avatar .author_avatar { margin: 0 auto 8px; }
.gc-msg-avatar img {
	width: 128px !important;
	height: 128px !important;
	object-fit: cover;
	border-radius: 10%;
	background: #1c2338;
	border: 0;
	display: block;
	margin: 0 auto;
}
.gc-msg-name { font-size: 15px; font-weight: 600; line-height: 1.3; word-break: break-word; }
.gc-msg-name img.buddy_status { width: 8px; height: 8px; margin-right: 4px; vertical-align: 1px; }
.gc-msg-title { font-size: 12px; color: #8f9ab8; margin-top: 2px; }
.gc-msg-stars { margin: 4px 0 10px; line-height: 1; }
.gc-msg-stars img { height: 11px; width: auto; margin: 0 1px; }

/* Joined / Posts / Threads ... as aligned label-value rows */
dl.gc-stats {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 3px 8px;
	margin: 0;
	padding-top: 10px;
	border-top: 1px solid #36426a;
	font-size: 12px;
	text-align: left;
}
dl.gc-stats dt { margin: 0; color: #8f9ab8; font-weight: 400; }
dl.gc-stats dd { margin: 0; text-align: right; color: #d6dcea; white-space: nowrap; }
dl.gc-stats dd a:link, dl.gc-stats dd a:visited { color: #4fb3ea; }

/* Content column, with the little arrow pointing at the author */
.gc-msg-main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding: 10px 16px 8px;
	position: relative;
}
.gc-msg-main::before {
	content: "";
	position: absolute;
	left: -1px;
	top: 18px;
	border: 8px solid transparent;
	border-left-color: #2e3957;
}
.gc-msg-main::after {
	content: "";
	position: absolute;
	left: -2px;
	top: 18px;
	border: 8px solid transparent;
	border-left-color: #2a3452;
}
.gc-msg-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 0 0 8px;
	margin-bottom: 10px;
	border-bottom: 1px solid #2e3957;
	font-size: 12px;
}
.gc-msg-head .post_date { color: #8f9ab8; }
.gc-msg-head .float_right { float: none; display: flex; align-items: center; gap: 8px; }
.gc-msg-head .float_right a:link, .gc-msg-head .float_right a:visited { color: #8f9ab8; font-weight: 400; }
.gc-msg-head .float_right a:hover { color: #fff; }
.gc-msg-main .post_body { flex: 1 1 auto; padding: 0 0 12px; font-size: 15px; line-height: 1.6; background: none; }
.gc-msg-main .post_meta { font-size: 11px; color: #6f7a99; padding: 0 0 6px; }
.gc-msg-main .post_meta:empty { display: none; }
.gc-msg-main .signature { border-top: 1px solid #2e3957; padding-top: 8px; margin-top: 4px; color: #aab5d0; font-size: 13px; }

/* Footer actions as quiet text links */
.gc-msg-foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 6px 0 0;
	margin: 0;
	background: none !important;
	border: 0 !important;
	border-top: 1px solid #2e3957 !important;
}
.gc-msg-foot .postbit_buttons, .gc-msg-foot .postbit_buttons2 { float: none; display: flex; flex-wrap: wrap; gap: 2px; }
.gc-msg-foot .postbit_buttons > a:link, .gc-msg-foot .postbit_buttons > a:visited,
.gc-msg-foot .postbit_buttons2 > a:link, .gc-msg-foot .postbit_buttons2 > a:visited {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #8f9ab8 !important;
	font-size: 12px;
	padding: 4px 7px;
	margin: 0;
	border-radius: 3px;
}
.gc-msg-foot .postbit_buttons > a:hover, .gc-msg-foot .postbit_buttons2 > a:hover {
	background: #2e3957 !important;
	color: #fff !important;
}

/* Deleted / unapproved posts */
.gc-post.deleted_post .gc-msg-main { background: #3a2a38; }
.gc-post.unapproved_post .gc-msg-main { background: #3a3526; }

/* Narrow screens: author above the post */
@media (max-width: 700px) {
	.gc-msg { flex-direction: column; }
	.gc-msg-user { flex-basis: auto; border-right: 0; border-bottom: 1px solid #2e3957; display: flex; align-items: center; gap: 10px; text-align: left; }
	.gc-msg-avatar img { width: 48px !important; height: 48px !important; }
	.gc-msg-avatar .author_avatar { margin: 0; }
	dl.gc-stats, .gc-msg-stars { display: none; }
	.gc-msg-main::before, .gc-msg-main::after { display: none; }
}



/* Header menu: same height and vertical centring for every item,
   without relying on <details> behaving as a flex box (Firefox doesn't) */
details.gc-drop { display: block; position: relative; }
ul.gc-nav > li > a, ul.gc-nav summary,
.gc-user > a:not(.gc-pmcount), .gc-user summary {
	min-height: 64px;
	box-sizing: border-box;
}
.gc-user { align-items: center; }
.gc-user > details, .gc-user > a:not(.gc-pmcount) { align-self: stretch; }
ul.gc-nav { flex-wrap: nowrap; }
ul.gc-nav > li > a, ul.gc-nav summary, .gc-user > a:not(.gc-pmcount), .gc-user summary { padding: 0 10px; }
@media (max-width: 1100px) {
	ul.gc-nav { flex-wrap: wrap; }
}
 

