:root {
--c1:#218838;
--c2:#28a745;
--c3:#d9f5e3;
--c4:#555;
--c5:#ccc;
--c5:#eee;
--w: #fff;
--b: #000;
}
body {
	margin: 0;
	padding: 0;
	font-family: Arial, sans-serif;
	background: var(--w);
	height: 100vh;
	display: flex;
	overflow: auto;
}
a, a:visited, a:active {
	text-decoration: none;
	color: var(--c1);
}
a:hover {
	color: var(--c4);
	text-decoration: underline;
}
.left-panel {
	width: 500px;
	max-width: 500px;
	padding: 30px;
	overflow-y: auto;
	z-index: 2;
}
form {
	max-width: 500px;
	margin: auto;
}
h2 {
	text-align: center;
	margin-bottom: 10px;
}
p.intro {
	text-align: center;
	font-size: 15px;
	color: var(--c4);
	margin-bottom: 20px;
}
label {
	display: block;
	margin-top: 12px;
	font-weight: bold;
}
input[type="text"], input[type="email"], input[type="number"] {
	width: calc(100% - 20px);
	padding: 8px;
	margin-top: 5px;
	border-radius: 4px;
	border: 1px solid var(--c2);
}
.amount-boxes {
	display: flex;
	justify-content: space-between;
	margin-top: 10px;
	flex-wrap: wrap;
}
.amount-btn {
	flex: 1;
	background: var(--c5);
	margin: 5px;
	padding: 12px 5px;
	text-align: center;
	border-radius: 6px;
	cursor: pointer;
	border: 2px solid transparent;
	user-select: none;
}
.amount-btn.selected {
	border-color: var(--c2);
	background: var(--c3);
}
.amount-btn, .donation-type {
	transition: transform 0.15s ease, background 0.25s ease, border-color 0.25s ease;
}
.amount-btn:hover, .donation-type:hover {
	transform: scale(1.04);
}
.amount-btn.selected, .donation-type.selected {
	animation: btnJump 0.25s ease-out;
}
@keyframes btnJump {
 0% {
transform: translateY(0) scale(1);
}
 35% {
transform: translateY(-6px) scale(1.05);
}
 100% {
transform: translateY(0) scale(1);
}
}
.amount-btn:active, .donation-type:active {
	animation: btnPulse 0.3s ease-out;
}
 @keyframes btnPulse {
 0% {
box-shadow: 0 0 0 0 rgba(40,167,69,0.35);
}
 100% {
box-shadow: 0 0 0 12px rgba(40,167,69,0);
}
}
.amount-wrapper {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transform: translateY(-5px);
	transition: max-height 0.35s ease, opacity 0.35s ease, transform 0.35s ease;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}
.amount-wrapper.show {
	max-height: 200px;
	opacity: 1;
	transform: translateY(0);
}
.amount-wrapper input[type="number"] {
	width: 100%;
}
.ron-label {
	font-weight: bold;
	padding-top: 6px;
}
#amount {
	width: 100px;
}
button {
	margin-top: 15px;
	padding: 12px;
	background: var(--c2);
	color: white;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	width: 100%;
	font-size: 16px;
}
button:hover {
	background: var(--c1);
}
.row {
	display: flex;
	gap: 10px;
	margin-top: 20px;
}
.w100 {
	width: 100%;
}
.w75 {
	width: 75%;
}
.w50 {
	width: 50%;
}
.w25 {
	width: 25%;
}
.center {
	text-align: center;
}
#total-amount {
	color: var(--c2);
	font-weight: bold;
	margin-top: 1px;
}
#total-box {
	font-size: 20px;
	margin-top: 15px;
	height: 43px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 100%;
	text-align: center;
}
.right-panel {
	flex: 1;
	position: relative;
	overflow: hidden;
}
.slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 1s ease-in-out;
	animation: subtleZoom 10s ease-in-out infinite;
}
.slide.top {
	z-index: 2;
}
.slide.bottom {
	z-index: 1;
}

@media (max-width: 900px) {
body {
	height: auto;
}
.left-panel {
	width: 100%;
	max-width: none;
	padding: 20px;
	background: rgba(255,255,255,0.90);
	backdrop-filter: blur(3px);
	position: relative;
	z-index: 10;
	min-height: calc(100vh - 40px);
}
.right-panel {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 1;
}
.right-panel .slide {
	filter: blur(4px);
	transform: scale(1.05);
}
form {
	max-width: 100%;
}
.amount-btn, .donation-type {
	flex: auto;
}
}

@media (max-width: 470px) {
.w25, .w50, .w75 {
	width: 100%;
}
.row {
	display: block;
}
#amount {
	width: -webkit-fill-available;
}
img.netopia {
	max-width: 100%;
}
.donation-type {
	max-width: calc(100% - 20px);
}
}
