* {
	box-sizing: border-box;
	font-family: 'Montserrat', sans-serif;
}

:root {
	--blue: #003366;
	--yellow: #FFCC00;
	--light: #F8F9FA;
	--dark: #212529;
}

body {
	padding-top: 70px;
	overflow-x: hidden;
}

.text-yellow {
	color: var(--yellow);
}

.bg-blue {
	background-color: var(--blue);
}

.navbar {
	background-color: var(--blue);
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.navbar-brand, .nav-link {
	color: #fff !important;
}

.nav-link:hover {
	color: var(--yellow) !important;
}

.btn-cart {
	background: none;
	border: none;
	font-size: 1.2rem;
}

.hero-section {
	background: linear-gradient(rgba(0,51,102,0.8), rgba(0,51,102,0.8)), url('visuals/content/brush-strokes-bg.jpg');
	background-size: cover;
	background-position: center;
	color: #fff;
	margin-top: -10px;
}

.rounded-shadow {
	border-radius: 20px;
	box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.section-title {
	font-weight: 700;
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 25px;
}

.section-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background-color: var(--yellow);
}

.product-card {
	border: none;
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
	transition: transform 0.3s ease;
}

.product-card:hover {
	transform: translateY(-5px);
}

.product-card img {
	height: 300px;
	object-fit: cover;
}

.sku {
	font-size: 0.8rem;
	color: #888;
}

.btn-blue {
	background-color: var(--blue);
	color: #fff;
}

.btn-blue:hover {
	background-color: #002244;
	color: #fff;
}

.btn-yellow {
	background-color: var(--yellow);
	color: var(--blue);
	font-weight: 700;
}

.btn-yellow:hover {
	background-color: #e6b800;
}

.carousel-item img {
	height: 400px;
	object-fit: cover;
}

.carousel-caption {
	background: rgba(0,0,0,0.5);
	border-radius: 10px;
	padding: 20px;
}

.accordion-button:not(.collapsed) {
	background-color: var(--yellow);
	color: var(--blue);
}

.cart-item-img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 5px;
}

@media (max-width: 1200px) {
	h1.display-3 {
		font-size: 2.5rem;
	}
}

@media (max-width: 768px) {
	h1.display-3 {
		font-size: 1.8rem;
	}
	h2 {
		font-size: 1.4rem;
	}
	.hero-section {
		text-align: center;
	}
	.carousel-item img {
		height: 250px;
	}
}

@media (max-width: 576px) {
	h1.display-3 {
		font-size: 1.3rem;
	}
}/* Main container padding */
.lawMatrixNode {
    padding: 50px 15px 10px 15px; /* Top, Sides (Left/Right), Bottom */
    color: #000; /* Light text color for dark theme */
    line-height: 1.6;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Compact Header Styles */
.lawMatrixNode h1, 
.lawMatrixNode h2, 
.lawMatrixNode h3, 
.lawMatrixNode h4, 
.lawMatrixNode h5 {
    color: #000; /* Brighter white for headings */
    font-weight: 600;
    line-height: 1.3;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.lawMatrixNode h1 { font-size: 1.4rem; }
.lawMatrixNode h2 { font-size: 1.25rem; }
.lawMatrixNode h3 { font-size: 1.15rem; }
.lawMatrixNode h4 { font-size: 1.05rem; }
.lawMatrixNode h5 { font-size: 1rem; text-transform: uppercase; letter-spacing: 0.5px; }

/* Paragraph Styles */
.lawMatrixNode p {
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 0.95rem;
    opacity: 0.9; /* Slightly softer than headings */
}

/* List Styles */
.lawMatrixNode ul {
    margin-bottom: 1rem;
    padding-left: 1.5rem;
    list-style-type: disc;
}

.lawMatrixNode li {
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

/* Remove top margin from the first element to maintain container padding integrity */
.lawMatrixNode > *:first-child {
    margin-top: 0;
}


.navbar{
	padding: 15px 0 !important;
}

#cart-count{
	top: 4px !important;
}

.artist-img img{
	width: 100%;
	height: 300px;
	object-fit: contain;
	display: block;
	margin: 20px auto;
}

.navbar-toggler{
	filter: invert(1);
}

.modal-content{
	max-height: 90vh;
	overflow-y: auto;
	top: 5vh;
}

@media (max-width: 767px){
	
	#cart-items-container{
		.d-flex.align-items-center.mb-3.p-2.border-bottom{
			flex-wrap: wrap;
			gap: 10px;
			align-items: center;
			justify-content: center;
		}
	}

	.artist-img img{
		height: auto;
	}

	#artist{
		.col-12.text-center.mb-5{
			margin-bottom: 0 !important;
		}
	}

		.card-body.p-5{
			padding: 15px !important;
		}
}