/**
 * Patch Size Calculator Styles
 * 
 * Clean, minimal design for the patch size calculator
 * Mobile-friendly and works seamlessly within Elementor containers
 */

/* Calculator Wrapper */
.patch-calculator-wrapper {
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	padding: 20px;
	box-sizing: border-box;
}

/* Calculator Container */
.patch-calculator {
	background: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 30px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Calculator Title */
.patch-calculator-title {
	margin: 0 0 25px 0;
	font-size: 24px;
	font-weight: 600;
	color: #333333;
	text-align: center;
}

/* Form Container */
.patch-calculator-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Input Group */
.patch-input-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Labels */
.patch-label {
	font-size: 14px;
	font-weight: 500;
	color: #555555;
	margin-bottom: 4px;
}

/* Input Fields */
.patch-input {
	width: 100%;
	padding: 12px 16px;
	font-size: 16px;
	line-height: 1.5;
	color: #333333;
	background-color: #ffffff;
	border: 2px solid #d0d0d0;
	border-radius: 4px;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: textfield;
}

.patch-input::-webkit-outer-spin-button,
.patch-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.patch-input:focus {
	outline: none;
	border-color: #0073aa;
	box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
}

.patch-input::placeholder {
	color: #999999;
}

/* Error State */
.patch-input-error {
	border-color: #dc3232 !important;
	box-shadow: 0 0 0 3px rgba(220, 50, 50, 0.1) !important;
}

/* Error Messages */
.patch-error {
	display: none;
	font-size: 13px;
	color: #dc3232;
	margin-top: 4px;
	line-height: 1.4;
}

.patch-error:not(:empty) {
	display: block;
}

/* Calculate Button */
.patch-calculate-btn {
	width: 100%;
	padding: 14px 24px;
	font-size: 16px;
	font-weight: 600;
	color: #ffffff;
	background-color: #0073aa;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.3s ease, transform 0.1s ease;
	margin-top: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.patch-calculate-btn:hover {
	background-color: #005a87;
	transform: translateY(-1px);
}

.patch-calculate-btn:active {
	transform: translateY(0);
}

.patch-calculate-btn:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.3);
}

.patch-calculate-btn:disabled {
	background-color: #cccccc;
	cursor: not-allowed;
	transform: none;
}

/* Result Display */
.patch-result {
	margin-top: 20px;
	padding: 15px;
	background-color: #f0f7fc;
	border: 1px solid #b3d9f2;
	border-radius: 4px;
	text-align: center;
}

.patch-result-text {
	margin: 0;
	font-size: 16px;
	color: #0073aa;
	font-weight: 500;
}

/* Active Tab Highlight */
.patch-tab-active {
	background-color: #0073aa !important;
	color: #ffffff !important;
}

.patch-tab-active a {
	color: #ffffff !important;
}

/* Responsive Design */
@media (max-width: 768px) {
	.patch-calculator-wrapper {
		padding: 15px;
	}
	
	.patch-calculator {
		padding: 20px;
	}
	
	.patch-calculator-title {
		font-size: 20px;
		margin-bottom: 20px;
	}
	
	.patch-input {
		font-size: 16px; /* Prevents zoom on iOS */
	}
	
	.patch-calculate-btn {
		padding: 12px 20px;
		font-size: 15px;
	}
}

@media (max-width: 480px) {
	.patch-calculator-wrapper {
		padding: 10px;
	}
	
	.patch-calculator {
		padding: 15px;
	}
	
	.patch-calculator-title {
		font-size: 18px;
	}
}

/* Elementor Integration */
.elementor-widget-tabs .patch-tab-active {
	background-color: #0073aa !important;
	color: #ffffff !important;
}

.elementor-tab-title.patch-tab-active {
	background-color: #0073aa !important;
	color: #ffffff !important;
}

.elementor-tab-title.patch-tab-active a {
	color: #ffffff !important;
}

