/**
 * LDS Traveler Details – frontend styles
 * Standalone styles so the form works with any theme.
 */

/* .lds-traveler-details {
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background: #fff;
	padding: 1.5rem;
	margin-top: 1rem;
} */

.lds-traveler-details__rows {
	display: grid;
	gap: 1.25rem;
}

:root {
	--lds-btn-primary-bg: #2563eb;
	--lds-btn-primary-hover-bg: #1d4ed8;
}

.lds-traveler-details__row {
	background: #fafafa;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	padding: 1.25rem 1.5rem 1.5rem;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 1.25rem;
	row-gap: 1rem;
	
}

.lds-traveler-details__row h4 {
	margin: 0 0 1rem;
	font-size: 1.125rem;
	line-height: 1.4;
	grid-column: 1 / -1;
}

.lds-traveler-details__row p {
	margin: 0 0 0.75rem;
}

.lds-traveler-details__row label {
	display: block;
	font-size: 1rem;
	font-weight: 600;
	color: #374151;
}

.lds-field-label-hint {
	font-size: 14px;
	font-weight: 400;
	color: #6b7280;
	margin-left: 0.35rem;
}

.lds-traveler-details__row input,
.lds-traveler-details__row textarea,
.lds-traveler-details__row select {
	width: 100%;
	margin-top: 0;
	padding: 0.5rem 0.75rem;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	background-color: #fff;
	font-size: 1rem;
	color: #374151;
	box-sizing: border-box;
}

.lds-traveler-details__row textarea {
	resize: vertical;
	min-height: 88px;
}

.lds-traveler-details__row input:focus,
.lds-traveler-details__row textarea:focus,
.lds-traveler-details__row select:focus {
	border-color: #2563eb;
	outline: none;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}

.js-lds-save-status {
	display: inline-block;
	margin-left: 0.75rem;
	font-size: 0.875rem;
	font-weight: 600;
}

.woocommerce-order .lds-traveler-details-account h2,
.lds-traveler-details-page h2 {
	margin-bottom: 0.75rem;
}

.woocommerce-account .lds-traveler-details .lds-btn,
.page .lds-traveler-details .lds-btn {
	border-radius: 6px;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.2;
	padding: 10px 16px;
	min-height: 40px;
	cursor: pointer;
	text-decoration: none;
}

.woocommerce-account .lds-traveler-details .lds-btn--primary,
.page .lds-traveler-details .lds-btn--primary {
	background: var(--lds-btn-primary-bg);
	color: #fff;
}

.woocommerce-account .lds-traveler-details .lds-btn--primary:hover,
.page .lds-traveler-details .lds-btn--primary:hover {
	background: var(--lds-btn-primary-hover-bg);
	color: #fff;
}

.woocommerce-account .lds-traveler-details .lds-btn--secondary,
.page .lds-traveler-details .lds-btn--secondary {
	background: #fff;
	color: #6b7280;
	border: 1px solid #d1d5db;
}

.woocommerce-account .lds-traveler-details .lds-btn--secondary:hover,
.page .lds-traveler-details .lds-btn--secondary:hover {
	border-color: #2563eb;
	color: #2563eb;
}

.lds-traveler-signature {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	margin-bottom: 1.25rem;
}

.lds-traveler-signature__help {
	margin-bottom: 0.75rem;
}

.lds-traveler-signature__pad {
	display: block;
	width: 100%;
	max-width: 640px;
	height: auto;
	background: #fff;
	border: 1px dashed #d1d5db;
	border-radius: 8px;
	touch-action: none;
}

.lds-traveler-signature__actions {
	margin-top: 0.75rem;
}

.lds-traveler-signature--readonly img {
	display: block;
	max-width: 640px;
	width: 100%;
	height: auto;
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 8px;
}

.lds-traveler-terms {
	margin-bottom: 1.25rem;
}

.lds-traveler-terms__label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-weight: 500;
	cursor: pointer;
}

.lds-traveler-terms__label input[type="checkbox"] {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.lds-traveler-terms a {
	color: #2563eb;
	text-decoration: underline;
}

.lds-traveler-terms a:hover {
	color: #1d4ed8;
}

.lds-traveler-terms__required {
	color: #dc2626;
	margin-left: 0.15rem;
}

.lds-field--invalid.lds-traveler-terms {
	padding: 0.75rem;
	border: 1px solid #dc2626;
	border-radius: 8px;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.2);
}

.lds-field--invalid.lds-traveler-terms .lds-traveler-terms__label input[type="checkbox"] {
	outline: 2px solid #dc2626;
	outline-offset: 2px;
}

/* Field layout helpers */
.lds-field {
	grid-column: span 2;
}

.lds-field--first-name,
.lds-field--middle-name,
.lds-field--last-name,
.lds-field--gender {
	grid-column: span 1;
}

.lds-field--email,
.lds-field--phone,
.lds-field--country,
.lds-field--passport-number,
.lds-field--profession,
.lds-field--dob,
.lds-field--special-needs,
.lds-field--hire-gear,
.lds-field--emergency-name,
.lds-field--emergency-relationship,
.lds-field--emergency-phone,
.lds-field--emergency-email {
	grid-column: span 2;
}


.lds-field--previous-experience,
.lds-traveler-signature,
.lds-traveler-signature--readonly,
.lds-field--billing-address {
	grid-column: 1 / -1;
}

.lds-traveler-details__row h5 {
	margin: 0.75rem 0 0.5rem;
	font-size: 1rem;
	font-weight: 600;
	grid-column: 1 / -1;
}

/* Contact number layout (country code + number) */
.lds-field-phone-inputs {
	display: flex;
	gap: 8px;
	margin-top: 0.5rem;
	
}

.lds-field-phone-inputs .iti {
	width: 100%;
	
}
.lds-field--phone .lds-traveler-phone-code,
.lds-field--emergency-phone .lds-traveler-phone-code {
	max-width: 110px;
	flex: 0 0 auto;
}

.lds-field--phone .lds-traveler-phone-number,
.lds-field--emergency-phone .lds-traveler-phone-number {
	flex: 1 1 auto;
}

.lds-field--special-needs .js-lds-conditional-textarea,
.lds-field--hire-gear .js-lds-conditional-textarea {
	margin-top: 0.5rem;
}

.lds-field--phone input::placeholder,
.lds-field--emergency-phone input::placeholder {
	color: #9ca3af;
}

@media (max-width: 768px) {
	.lds-traveler-details__row {
		grid-template-columns: 1fr;
	}

	.lds-field,
	.lds-field--first-name,
	.lds-field--middle-name,
	.lds-field--last-name,
	.lds-field--gender,
	.lds-field--email,
	.lds-field--phone,
	.lds-field--country,
	.lds-field--passport-number,
	.lds-field--profession,
	.lds-field--dob {
		grid-column: 1 / -1;
	}
}

/* Button reset so theme styles do not override */
.lds-traveler-details .lds-btn {
	all: unset;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 10px 16px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	text-decoration: none;
}

.lds-traveler-details .lds-btn::before,
.lds-traveler-details .lds-btn::after {
	content: none;
	display: none;
}

.lds-traveler-details .lds-btn--primary {
	background: var(--lds-btn-primary-bg);
	color: #fff;
}

.lds-traveler-details .lds-btn--primary:hover {
	background: var(--lds-btn-primary-hover-bg);
	color: #fff;
}

.lds-traveler-details .lds-btn--link-danger {
	display: inline;
	padding: 0;
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #b91c1c;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.lds-traveler-details .lds-btn--link-danger:hover {
	color: #991b1b;
}


/* Collapsible traveler fields / not attending */
.lds-traveler-details__fields {
	display: contents;
}

.lds-traveler-details__row.is-not-attending {
	opacity: 0.92;
}

.lds-upload-preview {
	display: block;
	margin-top: 0.35rem;
	max-width: 160px;
	height: auto;
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.12);
}

.lds-field--not-attending {
	grid-column: 1 / -1;
	margin-bottom: 0.35rem;
}

.lds-traveler-details:not(.lds-traveler-details--admin) .lds-field--not-attending label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: nowrap;
}

.lds-traveler-details:not(.lds-traveler-details--admin) .lds-field--not-attending input[type="checkbox"] {
	width: auto;
	margin-top: 0;
	flex-shrink: 0;
}

.lds-field--invalid input,
.lds-field--invalid select,
.lds-field--invalid textarea {
	border-color: #dc2626;
}

.lds-field--invalid .lds-traveler-signature__pad {
	border-color: #dc2626;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.2);
}

.lds-field--invalid input:focus,
.lds-field--invalid select:focus,
.lds-field--invalid textarea:focus {
	border-color: #dc2626;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.2);
}

.js-lds-image-upload {
	margin-top: 0.35rem;
}
.lds-traveler-details-account:not(:has(.js-lds-traveler-form)) .lds-traveler-details__row {
grid-template-columns: 1fr;
gap: 10px;
p{
	margin-bottom: 0;
}
}
@media (max-width: 768px) {
	.lds-traveler-details__row {
		row-gap: 10px;
	}
}