/*--------------------------------------------------------------------------------------------
Common Sections
--------------------------------------------------------------------------------------------*/
.body-container {
	margin: 0;
	font-family: Arial, sans-serif;
	background: rgb(255 251 247);
	color: #333;
}

.title-text {
	font-size: 16px;
}

@media (min-width: 430px) and (max-width: 767px) {
	.title-text {
		font-size: 20px;
	}
	.no-record {
		font-size: 35px !important;
	}
}

@media (min-width: 768px) {
	.title-text {
		font-size: 25px;
	}
	.no-record {
		font-size: 50px !important;
	}
}

.pt-6 {
	padding-top: 5rem;
}
.pt-7{
	padding-top: 6rem
}

.add-page-link {
	margin: 0;
	color: white;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.no-record {
	font-size: 30px;
	min-height: 300px;
	color: #95978e;
}

.contact-link {
	color: white;
	text-decoration: none;
}

.copyright {
	text-decoration: none;
	color: #ffc008;
}
.copyright:hover {
	font-size: 1.1em;
}
/*--------------------------------------------------------------------------------------------
Index Page: State Tiles Carousal
--------------------------------------------------------------------------------------------*/
.carousel-wrapper {
	position: relative;
	background: rgb(238 240 230);
	padding: 20px;
	border-radius: 0 0 12px 12px;
	overflow: hidden;
}

.carousel {
	display: flex;
	overflow-x: auto;
	gap: 15px;
	scroll-behavior: smooth;
	padding: 5px 20px;
}

.arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: rgb(255 193 7);
	z-index: 2;
	cursor: pointer;
	font-size: 70px;
}

.arrow.left {
	left: 0;
	padding-left: 20px;
}

.arrow.right {
	right: 0;
	padding-right: 20px;
}

.arrow:hover {
	color: rgb(238 240 230);
}

.carousel::-webkit-scrollbar {
	display: none;
}

/*--------------------------------------------------------------------------------------------
Index Page: Carousal: State Tiles
--------------------------------------------------------------------------------------------*/
.state-tile {
	flex: 0 0 auto;
	width: 200px;
	cursor: pointer;
	border: 2px solid transparent;
	border-radius: 12px;
	padding: 15px;
	text-align: center;
	transition: border-color 0.3s;
	background: #0f101229;
	font-size: 16px;
}

.state-tile.active {
	border-color: #4CAF50;
	background: #d4e3d2;
}

.state-map {
	width: 100%;
	height: 140px;
	object-fit: cover;
	border-radius: 8px;
	margin-bottom: 8px;
	background: transparent;
}

/*--------------------------------------------------------------------------------------------
Index Page: Carousal: State Tiles: Badge
--------------------------------------------------------------------------------------------*/
.badge-position {
	top: 15px;
	left: 92%
}
.soil-badge {
	background-color: #ae2f2f;
	color: #fff;
	font-size: 10px;
}
.water-badge {
	background-color: #3692ea;
	color: #fff;
	font-size: 10px;
}

.both-badge .soil-badge {
	border-radius: 8px 0 0 8px;
	padding: 4px 7px;
	outline: none;
}
.both-badge .water-badge {
	border-radius: 0 8px 8px 0;
	padding: 4px 7px;
	outline: none;
}
.both-badge.badge-position {
	top: 15px;
	left: 87%
}

/*--------------------------------------------------------------------------------------------
Index Page: Samples Section
--------------------------------------------------------------------------------------------*/
.samples {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 20px;
	gap: 20px;
	background-color: rgb(255 251 247);
}

.sample-tile {
	position: relative;
	background: #fff;
	border-radius: 12px;
	width: 300px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.sample-tile img {
	width: 100%;
	height: 180px;
	object-fit: cover;
}

.sample-content {
	padding: 12px;
}

.sample-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.sample-header h3 {
	margin: 0;
	font-size: 1.2em;
}

.sample-id {
	background: #4CAF50;
	color: #fff;
	padding: 2px 6px;
	border-radius: 6px;
	font-size: 0.8em;
}

.sample-meta {
	font-size: 0.9em;
	margin-top: 10px;
}
.sample-meta div {
	display: flex;
	align-items: center;
	margin: 6px 0px;
}
.sample-meta i {
	margin-right: 6px;
	color: #555;
}
.sample-meta a {
	color: #2196F3;
	text-decoration: none;
}
.sample-meta a:hover {
	text-decoration: underline;
}

.sample-type-soil {
	width: 100%;
	background-color: #715151;
	color: #fff;
	text-align: center;
	letter-spacing: 10px;
	font-size: 10px;
	text-transform: uppercase;
}
.sample-type-water {
	width: 100%;
	background-color: #489ee2;
	color: #fff;
	text-align: center;
	letter-spacing: 10px;
	font-size: 10px;
	text-transform: uppercase;
}

.sample-notes {
	margin-top: 10px;
	font-size: 0.9em;
	color: #555;
	display: flex;
	align-items: center;
}

.delete-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	border: none;
	cursor: pointer;
	background: transparent;
	font-size: 20px;
	color: #d9534f;
}
.delete-btn:hover {
	background: #f8d7da;
	background: white;
	border-radius: 50%;
	padding: 3px 8px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

/*--------------------------------------------------------------------------------------------
Add Page: Form fields
--------------------------------------------------------------------------------------------*/
.image-upload-container {
	position: relative;
	border: 2px dashed #ccc;
	border-radius: 8px;
	padding: 5px;
	text-align: center;
	background-color: #ebebeb;
	cursor: pointer;
	height: 175px;
}

.image-preview {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
}

.upload-icon {
	width: 100%;
	height: 83%;
	margin-top: 5px;
}

.remove-image-btn {
	position: absolute;
	top: -2px;
	right: 8px;
	background: rgba(0, 0, 0, 0.6);
	border: none;
	color: white;
	font-size: 20px;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	line-height: 0;
	display: none;
	z-index: 10;
}

input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
}

.form-container {
	background-color: #566b5999;
	padding: 2rem;
	border-radius: 1rem;
	margin-top: 2rem;
}