/**
 * Custom Theme Styles
 *
 * Additional styles that extend Bootstrap 5.3.
 */

/* ==========================================================================
   Base
   ========================================================================== */

:root {
	--ct-primary: #0d6efd;
	--ct-secondary: #6c757d;
	--ct-body-bg: #ffffff;
	--ct-body-color: #212529;
}

body {
	font-family: var(--wp--preset--font-family--bootstrap-default, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif);
	color: var(--ct-body-color);
	background-color: var(--ct-body-bg);
}

/* ==========================================================================
   Skip Link
   ========================================================================== */

.skip-link:focus {
	z-index: 100000;
}

/* ==========================================================================
   Header
   ========================================================================== */

.site-header .navbar-brand img {
	max-height: 60px;
	width: auto;
}

/* ==========================================================================
   Post Cards
   ========================================================================== */

.post-card {
	transition: transform 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.post-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1) !important;
}

.post-card .card-img-top img {
	transition: transform 0.3s ease;
}

.post-card:hover .card-img-top img {
	transform: scale(1.05);
}

/* ==========================================================================
   Entry Content
   ========================================================================== */

.entry-content {
	line-height: 1.8;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	margin-top: 1.5rem;
	margin-bottom: 0.75rem;
}

.entry-content p {
	margin-bottom: 1rem;
}

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

.entry-content .alignleft {
	float: left;
	margin-right: 1rem;
	margin-bottom: 1rem;
}

.entry-content .alignright {
	float: right;
	margin-left: 1rem;
	margin-bottom: 1rem;
}

.entry-content .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.entry-content .wp-caption {
	max-width: 100%;
}

.entry-content .wp-caption-text {
	font-size: 0.875rem;
	color: #6c757d;
	text-align: center;
	margin-top: 0.5rem;
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

.nav-links .page-numbers {
	padding: 0.375rem 0.75rem;
	border-radius: 0.375rem;
	text-decoration: none;
	font-size: 0.875rem;
}

.nav-links .page-numbers:not(.dots):not(.current) {
	border: 1px solid #dee2e6;
	color: var(--ct-primary);
}

.nav-links .page-numbers:not(.dots):not(.current):hover {
	background-color: #e9ecef;
}

.nav-links .page-numbers.current {
	background-color: var(--ct-primary);
	color: #fff;
	border: 1px solid var(--ct-primary);
}

.nav-links .page-numbers.dots {
	color: #6c757d;
}

/* ==========================================================================
   Post Navigation
   ========================================================================== */

.nav-links .nav-previous,
.nav-links .nav-next {
	display: inline-block;
}

.nav-links .nav-previous a,
.nav-links .nav-next a {
	text-decoration: none;
	padding: 0.5rem 1rem;
	border: 1px solid #dee2e6;
	border-radius: 0.375rem;
	display: inline-block;
}

.nav-links .nav-previous a:hover,
.nav-links .nav-next a:hover {
	background-color: #f8f9fa;
}

/* ==========================================================================
   Comments
   ========================================================================== */

.comment-list {
	list-style: none;
	padding-left: 0;
}

.comment-list .children {
	list-style: none;
	padding-left: 2rem;
}

.comment-body {
	padding: 1rem;
	margin-bottom: 1rem;
	border: 1px solid #dee2e6;
	border-radius: 0.375rem;
}

.comment-author img {
	border-radius: 50%;
	margin-right: 0.5rem;
}

.comment-respond {
	margin-top: 2rem;
}

/* ==========================================================================
   Widgets
   ========================================================================== */

.widget {
	margin-bottom: 1.5rem;
}

.widget ul {
	list-style: none;
	padding-left: 0;
}

.widget ul li {
	padding: 0.25rem 0;
	border-bottom: 1px solid #f0f0f0;
}

.widget ul li:last-child {
	border-bottom: none;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
}

.site-footer a:hover {
	color: #ffffff;
}

.site-footer .list-inline-item:not(:last-child) {
	margin-right: 1rem;
}

/* ==========================================================================
   Breadcrumb
   ========================================================================== */

.breadcrumb {
	background-color: transparent;
	padding: 0;
	margin-bottom: 0;
}

.breadcrumb-item a {
	text-decoration: none;
}

/* ==========================================================================
   Search Form
   ========================================================================== */

.search-form .search-submit {
	border-start-start-radius: 0;
	border-end-start-radius: 0;
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 767.98px) {
	.entry-content .alignleft,
	.entry-content .alignright {
		float: none;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 1rem;
		display: block;
	}
}