/* ==========================================================================
   Platforma - Custom Layout Utilities & Components
   Reusable helpers that extend Bootstrap (originally from Platforma template)
   ========================================================================== */


/* ==========================================================================
   BS5 Overrides — Platforma base style differences
   ========================================================================== */

/* Platforma template used font-weight 500 buttons with no border-radius */
.btn {
	font-weight: 500;
	border-radius: 0;
	white-space: nowrap;
}

/* Platforma had zero-width focus ring, restore similar behavior */
.btn:focus, .btn.focus {
	box-shadow: 0 -1px 0 0 #777777 inset;
}

/* Platforma hover effect: add underline to span inside links */
a:hover span {
	border-bottom: 1px solid;
}

/* Dropdown caret - match Platforma spacing */
.dropdown-toggle::after {
	margin-left: 0.35em;
}


/* Font Weight Utilities
   ========================================================================== */

.weight-300 {
	font-weight: 300;
}

.weight-400 {
	font-weight: 400;
}

.weight-500 {
	font-weight: 500;
}

.weight-700 {
	font-weight: 700;
}

.weight-900 {
	font-weight: 900;
}


/* Link Utilities
   ========================================================================== */

a.transparent-link {
	opacity: 0.3;
}

a.transparent-link:hover {
	opacity: 1;
}

a.transparent-invert-link {
	opacity: 1;
}

a.transparent-invert-link:hover {
	opacity: 0.3;
}

a.action-link {
	font-weight: 500;
}

a.action-link::after {
	content: '';
	display: inline-block;
	width: 5.5px;
	height: 5.5px;
	border-top: 1.5px solid;
	border-right: 1.5px solid;
	transform: rotate(45deg);
	position: relative;
	margin: -1px 0 0 6px;
	vertical-align: middle;
	top: -1px;
}


/* Sidebar Navigation
   ========================================================================== */

.navbar-side {
	position: fixed;
	z-index: 9999;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	transform: translateX(-100%);
	transition: 0.2s ease background-color, 0s linear transform 0.2s;
	pointer-events: none;
}

.navbar-side.show {
	pointer-events: auto;
}

.navbar-side .navbar-side-content {
	background: #fff;
	padding: 15px;
	padding-bottom: 30px;
	height: 100%;
	transform: translateX(-100%);
	transition: 0.2s ease transform;
}

.navbar-side .navbar-side-content .nav-link {
	font-size: 2rem;
	line-height: 2.375rem;
}

@media (min-width: 768px) {
	.navbar-side .navbar-side-content .nav-link {
		font-size: 2.5rem;
		line-height: 2.5rem;
	}
}

@media (min-width: 992px) {
	.navbar-side .navbar-side-content .nav-link {
		font-size: 3.5rem;
		line-height: 3.75rem;
	}
}

.navbar-side .navbar-side-content .dropdown-menu {
	right: 0;
}

@media (min-width: 576px) {
	.navbar-side .navbar-side-content {
		max-width: 40%;
	}
}

@media (min-width: 768px) {
	.navbar-side .navbar-side-content {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (min-width: 992px) {
	.navbar-side .navbar-side-content {
		padding-top: 30px;
	}
}

.navbar-side .navbar-side-close {
	display: inline-block;
	margin-left: -5px;
}

.navbar-side.show {
	transform: translateX(0);
	background-color: rgba(0, 0, 0, 0.1);
	transition: 0.2s ease background-color, 0s linear transform 0s;
}

.navbar-side.show .navbar-side-content {
	transform: translateX(0);
}


/* Background Cover
   ========================================================================== */

.bg-cover {
	background-color: #1a1d24;
	background-image: url("../assets/pictures/dark.png");
}


/* Image Aspect Ratio Containers
   Usage: <div class="images-ratio ratio-16-9" style="background-image: url(...)">
   ========================================================================== */

.images-ratio {
	background-size: cover;
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.images-ratio::before {
	content: '';
	display: block;
	box-sizing: border-box;
}

.images-ratio.ratio-2-1::before {
	padding-top: 48.64%;
}

.images-ratio.ratio-4-2::before {
	padding-top: 54.62%;
}

.images-ratio.ratio-4-3::before {
	padding-top: 70.37%;
}

.images-ratio.ratio-4-5::before {
	padding-top: calc(109.24% + 30px);
}

.images-ratio.ratio-16-9 {
	max-height: 600px;
}

.images-ratio.ratio-16-9::before {
	padding-top: calc(109.24% + 30px);
}

.images-ratio.ratio-3-1::before {
	padding-top: 36.93%;
}

@media (max-width: 991.98px) {
	.images-ratio.ratio-2-1::before,
	.images-ratio.ratio-4-2::before,
	.images-ratio.ratio-4-3::before,
	.images-ratio.ratio-4-5::before,
	.images-ratio.ratio-16-9::before {
		padding-top: 100%;
	}
}


/* Section Break
   ========================================================================== */

.section-break {
	background: #f2f2f2;
	text-align: center;
	line-height: 30px;
	font-size: 11px;
}
