/**
 * D5 Simple Form CSS
 * Bootstrap 4.3 Compatible
 * Split-screen layout with plan details and checkout form
 */

/* ============================================
   WRAPPER AND LAYOUT
   ============================================ */
.d5-simple-form-wrapper {
	padding: 40px 0;
	min-height: 100vh;
}

/* Smooth scrolling */
html {
	scroll-behavior: smooth;
}

/* ============================================
   STICKY PLAN DETAILS (Desktop Only)
   ============================================ */
/* .sticky-plan-details {
	position: sticky;
	top: 20px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
} */

/* Custom scrollbar for plan details */
/* .sticky-plan-details::-webkit-scrollbar {
	width: 6px;
} */

/* .sticky-plan-details::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 3px;
}

.sticky-plan-details::-webkit-scrollbar-thumb {
	background: #888;
	border-radius: 3px;
}

.sticky-plan-details::-webkit-scrollbar-thumb:hover {
	background: #555;
} */

/* ============================================
   CONNECTION TYPE BADGE
   ============================================ */
.badge-lg {
	font-size: 2rem;
	padding: 0.5rem 1rem;
	font-weight: 500;
}

/* ============================================
   PLAN PRICE DISPLAY
   ============================================ */
.plan-price-display {
	border: 3px solid transparent;
    background-image: var(--ctagradient), var(--ctagradient);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
    color: var(--white);
    padding: 8px;
    padding-left: 25px !important;
    padding-right: 25px !important;
    border-radius: 30px;
    margin: 10px;
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.plan-price-display .price-value {
	font-size: 2.5rem;
	font-weight: bold;
	display: inline-block;
	line-height: 1;
}

.plan-price-display .price-label {
	font-size: 1rem;
	opacity: 0.9;
	display: inline-block;
	margin-top: 0.25rem;
}

/* ============================================
   FEATURES LIST
   ============================================ */
.feature-list {
	margin-bottom: 0;
}

.feature-list li {
	padding: 0.5rem 0;
	border-bottom: 1px solid #f0f0f0;
	line-height: 1.6;
}

.feature-list li:last-child {
	border-bottom: none;
}

.feature-list li i.bi-check-circle-fill {
	color: #EE7625;
	margin-right: 0.5rem;
}

.feature-list li i.bi-x-circle {
	color: #6c757d;
	margin-right: 0.5rem;
}

/* ============================================
   ADD-ON CARDS
   ============================================ */
.addon-card {
	background: white;
	border: 2px solid #dee2e6;
	border-radius: 8px;
	padding: 1rem;
	margin-bottom: 0.75rem;
	cursor: pointer;
	transition: all 0.3s ease;
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.addon-card:hover {
	border-color: #004666;
	box-shadow: 0 4px 8px rgba(0, 70, 102, 0.15);
	transform: translateY(-2px);
}

.addon-card.selected {
	border-color: #28a745;
	background-color: #f8fff9;
	box-shadow: 0 4px 12px rgba(40, 167, 69, 0.2);
}

.addon-checkbox-wrapper {
	flex-shrink: 0;
	display: none; /* Hidden - card provides visual feedback */
}

.addon-checkbox {
	width: 20px;
	height: 20px;
	cursor: pointer;
	display: none; /* Hidden - card provides visual feedback */
}

.addon-content {
	flex-grow: 1;
}

.addon-name {
	font-weight: 600;
	margin-bottom: 0.25rem;
	font-size: 1.5rem;
}

.addon-price {
	color: #ee5822;
	font-weight: 500;
	font-size: 1.4rem;
}

.addon-card.selected .addon-price {
	color: #28a745;
	font-weight: 600;
}

/* Free addon styling - tooltip becomes the price */
.addon-card.free .addon-price {
	color: #ee5822;
	font-weight: 500;
}

.addon-card.free.selected .addon-price {
	color: #28a745;
	font-weight: 600;
}

.addon-description {
	font-size: 1.2rem;
	color: #6c757d;
	margin-top: 0.25rem;
}

.addon-tick {
	position: absolute;
	top: 8px;
	right: 8px;
	font-size: 1.5rem;
	color: #28a745;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.addon-card.selected .addon-tick {
	opacity: 1;
}

/* ============================================
   PRICING SUMMARY
   ============================================ */
.pricing-summary {
	padding: 1rem;
	font-size: 1.5rem;
	border: 3px solid transparent;
    background-image: var(--ctagradient), var(--ctagradient);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
    color: var(--white);
    border-radius: 8px;
    display: block;
    position: relative;
    justify-content: center;
}

.pricing-summary hr {
	margin: 0.75rem 0;
	border-top-color: #fff;
}

.pricing-summary .fs-4 {
	font-size: 1.5rem !important;
}

/* ============================================
   EMAIL VALIDATION ICONS
   ============================================ */
.email-validation-icon {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	font-size: 1.25rem;
	pointer-events: none;
	z-index: 10;
}

.email-valid-icon {
	color: #28a745;
}

.email-invalid-icon {
	color: #dc3545;
}

/* Add padding to email and telephone inputs to make room for validation icon */
input[type="email"],
input[type="tel"] {
	padding-right: 40px;
}

/* ============================================
   FORM STYLING
   ============================================ */
.form-control:focus {
	border-color: #004666;
	box-shadow: 0 0 0 0.2rem rgba(0, 70, 102, 0.25);
}

.custom-control-input:checked ~ .custom-control-label::before {
	background-color: #004666;
	border-color: #004666;
}

.custom-control-input:focus ~ .custom-control-label::before {
	box-shadow: 0 0 0 0.2rem rgba(0, 70, 102, 0.25);
}

/* ============================================
   BUTTON STYLING
   ============================================ */
#d5-simple-submit-btn {
	font-size: 1.125rem;
	padding: 0.75rem 1.5rem;
	font-weight: 500;
}

#d5-simple-submit-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
}

#d5-simple-submit-btn:disabled {
	cursor: not-allowed;
	opacity: 0.6;
}

/* ============================================
   ALERT STYLING
   ============================================ */
#d5-simple-error {
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(220, 53, 69, 0.2);
}

/* ============================================
   CARD STYLING
   ============================================ */
.card {
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	border: 1px solid #dee2e6;
}

.card-header {
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.bg-primary {
	background-color: #004666 !important;
}

.bg-secondary {
	background-color: #6c757d !important;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

/* Tablets and below: Remove sticky, stack vertically */
/* @media (max-width: 991px) {
	.sticky-plan-details {
		position: static;
		max-height: none;
		margin-bottom: 2rem;
	}

	.plan-price-display .price-value {
		font-size: 2rem;
	}
} */

/* Mobile: Smaller spacing and fonts */
/* @media (max-width: 767px) {
	.d5-simple-form-wrapper {
		padding: 20px 0;
	}

	.plan-price-display {
		padding: 1rem;
	}

	.plan-price-display .price-value {
		font-size: 1.75rem;
	}

	.addon-card {
		padding: 0.75rem;
	}

	.addon-name {
		font-size: 0.9rem;
	}

	.addon-price {
		font-size: 0.85rem;
	}

	#d5-simple-submit-btn {
		font-size: 1rem;
		padding: 0.625rem 1.25rem;
	}
} */

/* ============================================
   UTILITY CLASSES
   ============================================ */
.text-primary {
	color: #ee5822 !important;
}

.text-success {
	color: #28a745 !important;
}

.text-black {
	color: #000000 !important;
}

.mr-1 {
	margin-right: 0.25rem !important;
}

.mr-2 {
	margin-right: 0.5rem !important;
}

.mb-0 {
	margin-bottom: 0 !important;
}

/* Bootstrap 5 compatibility - font size utilities */
.fs-4 {
	font-size: 1.5rem !important;
}

.position-relative {
	position: relative !important;
}
