/**
 * Trailex Quote System Styles
 *
 * Simplified CSS for quote button, SKU, and phone display.
 * Modal styles handled by Avada Fusion Modal Element.
 *
 * @package TrailexQuoteSystem
 * @since 1.0.0
 */

/* ==========================================================================
   Quote Section Container
   ========================================================================== */

.trailex-quote-section {
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	text-align: center;
}

/* Background box style (when enabled in settings) */
.trailex-quote-section.with-background {
	padding: 20px;
	background: #f9f9f9;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
}

/* ==========================================================================
   Quote Header
   ========================================================================== */

.trailex-quote-header {
	font-size: 18px;
	font-weight: 700;
	color: var(--awb-color1, #bb3524); /* Uses Avada primary color */
	margin-bottom: 15px;
	font-family: var(--h2_typography-font-family, sans-serif);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* ==========================================================================
   Custom Information Field
   ========================================================================== */

.trailex-quote-custom-info {
	font-size: 14px;
	margin: 10px 0;
	font-family: var(--body_typography-font-family, sans-serif);
	line-height: 1.6;
}

/* ==========================================================================
   Quote Button
   ========================================================================== */

.trailex-quote-button-wrapper {
	margin: 15px 0;
	display: block;
}

.trailex-quote-button-wrapper.trailex-inline-layout {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
}

.trailex-quote-button {
	display: inline-block !important;
	padding: 15px 35px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border-radius: 3px !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
	border: none !important;
	border-width: 0 !important;
	outline: none !important;
	font-family: var(--body_typography-font-family, sans-serif) !important;
	box-shadow: none !important;
	margin: 0 !important;
}

.trailex-quote-button:hover {
	opacity: 0.9 !important;
	border: none !important;
	border-width: 0 !important;
	box-shadow: none !important;
}

.trailex-quote-button:active,
.trailex-quote-button:focus {
	opacity: 0.85 !important;
	border: none !important;
	border-width: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

/* ==========================================================================
   SKU Display
   ========================================================================== */

.trailex-product-sku {
	font-size: 14px;
	color: #666;
	font-family: var(--body_typography-font-family, sans-serif);
	margin: 8px 0;
	font-weight: 500;
}

.trailex-product-sku.trailex-sku-above {
	margin-bottom: 10px;
	margin-top: 0;
}

.trailex-product-sku.trailex-sku-below {
	margin-top: 10px;
	margin-bottom: 0;
}

.trailex-product-sku.trailex-sku-next {
	margin: 0;
	padding: 0 10px;
	display: inline-block;
	vertical-align: middle;
}

/* ==========================================================================
   Phone Number Display
   ========================================================================== */

.trailex-quote-phone {
	font-size: 16px;
	margin: 15px 0 0 0;
	font-family: var(--body_typography-font-family, sans-serif);
	font-weight: 600;
}

.trailex-quote-phone a {
	color: var(--awb-color1, #bb3524); /* Uses Avada primary color */
	text-decoration: none;
	transition: color 0.3s ease;
}

.trailex-quote-phone a:hover {
	color: var(--awb-color8, #333333); /* Uses Avada text color */
	text-decoration: underline;
}

/* ==========================================================================
   Contact Form 7 Styling Inside Modal
   ========================================================================== */

.trailex-quote-modal-wrapper .wpcf7-form {
	padding: 20px;
}

.trailex-quote-modal-wrapper .wpcf7-form p {
	margin-bottom: 15px;
}

.trailex-quote-modal-wrapper .wpcf7-form input[type="text"],
.trailex-quote-modal-wrapper .wpcf7-form input[type="email"],
.trailex-quote-modal-wrapper .wpcf7-form input[type="tel"],
.trailex-quote-modal-wrapper .wpcf7-form textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-family: var(--body_typography-font-family, sans-serif);
	font-size: 14px;
	transition: border-color 0.3s ease;
}

.trailex-quote-modal-wrapper .wpcf7-form input[type="text"]:focus,
.trailex-quote-modal-wrapper .wpcf7-form input[type="email"]:focus,
.trailex-quote-modal-wrapper .wpcf7-form input[type="tel"]:focus,
.trailex-quote-modal-wrapper .wpcf7-form textarea:focus {
	border-color: var(--awb-color1, #bb3524);
	outline: none;
}

.trailex-quote-modal-wrapper .wpcf7-form input[type="submit"] {
	background-color: var(--awb-color1, #bb3524);
	color: #ffffff;
	padding: 12px 30px;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	font-family: var(--body_typography-font-family, sans-serif);
}

.trailex-quote-modal-wrapper .wpcf7-form input[type="submit"]:hover {
	opacity: 0.9;
	transform: translateY(-1px);
}

.trailex-quote-modal-wrapper .wpcf7-form .wpcf7-not-valid-tip {
	color: #d9534f;
	font-size: 12px;
	margin-top: 5px;
}

.trailex-quote-modal-wrapper .wpcf7-form .wpcf7-response-output {
	border-radius: 4px;
	padding: 15px;
	margin: 15px 0 0 0;
}

/* ==========================================================================
   Responsive Design - Avada Breakpoints
   ========================================================================== */

/* Tablet (1024px and below) */
@media screen and (max-width: 1024px) {
	.trailex-quote-header {
		font-size: 17px;
	}

	.trailex-quote-button {
		font-size: 15px;
		padding: 14px 30px;
	}

	.trailex-quote-phone {
		font-size: 15px;
	}
}

/* Mobile (768px and below) */
@media screen and (max-width: 768px) {
	.trailex-quote-section {
		padding: 15px;
		margin: 15px 0;
	}

	.trailex-quote-header {
		font-size: 16px;
		margin-bottom: 12px;
	}

	.trailex-quote-button {
		font-size: 14px;
		padding: 12px 25px;
	}

	.trailex-quote-phone {
		font-size: 14px;
		margin-top: 12px;
	}

	.trailex-product-sku {
		font-size: 13px;
	}

	/* Stack inline SKU layout on mobile */
	.trailex-quote-button-wrapper.trailex-inline-layout {
		flex-direction: column;
		gap: 10px;
	}
}

/* Small mobile (640px and below) */
@media screen and (max-width: 640px) {
	.trailex-quote-button {
		width: 100%; /* Full width on small mobile */
		padding: 14px 20px;
		font-size: 14px;
	}

	.trailex-quote-section {
		padding: 12px;
	}

	/* Ensure touch-friendly tap targets */
	.trailex-quote-phone a {
		display: inline-block;
		padding: 8px 0;
		min-height: 44px;
		line-height: 28px;
	}
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
	.trailex-quote-section {
		border: 1px solid #000;
		background: #fff;
	}

	.trailex-quote-button {
		display: none; /* Hide interactive button in print */
	}
}
