/* LG Showers Quote Form v1.0.0 */

.lgsqf-wrap,
.lgsqf-wrap *{box-sizing:border-box}

.lgsqf-wrap{
	--navy:#0e4e7c;
	--blue:#117faf;
	--blue-light:#2a9fd6;
	--orange:#ff7417;
	--ink:#1c2b3d;
	--muted:#607286;
	--line:#d9e3eb;
	--field:#f7f9fb;
	width:100%;
	max-width:1180px;
	margin:0 auto;
	padding:30px 20px;
	font-family:Arial,Helvetica,sans-serif;
	color:var(--ink);
}

.lgsqf-card{
	background:#fff;
	border:1px solid #e5ebf0;
	border-radius:12px;
	box-shadow:0 12px 34px rgba(18,52,77,.10);
	overflow:hidden;
}

.lgsqf-intro{
	padding:34px 38px 24px;
	border-top:6px solid var(--blue);
}

.lgsqf-eyebrow{
	display:inline-block;
	margin-bottom:8px;
	color:var(--blue);
	font-size:13px;
	font-weight:900;
	letter-spacing:.08em;
}

.lgsqf-intro h2{
	margin:0 0 10px;
	color:var(--navy);
	font-size:34px;
	line-height:1.1;
	font-weight:900;
}

.lgsqf-intro p{
	max-width:820px;
	margin:0;
	color:var(--muted);
	font-size:17px;
	line-height:1.55;
}

.lgsqf-form{padding:8px 38px 38px}

.lgsqf-grid{
	display:grid;
	gap:22px;
}

.lgsqf-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lgsqf-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}

.lgsqf-field{margin-top:20px}

.lgsqf-field label,
.lgsqf-section legend,
.lgsqf-location h3{
	display:block;
	margin:0 0 8px;
	color:#294660;
	font-size:15px;
	font-weight:800;
}

.lgsqf-field label span,
.lgsqf-section legend span{color:#d83030}

.lgsqf-field label small{
	color:#6d7d8b;
	font-size:12px;
	font-weight:600;
}

.lgsqf-field input[type="text"],
.lgsqf-field input[type="email"],
.lgsqf-field input[type="tel"],
.lgsqf-field input[type="number"],
.lgsqf-field select,
.lgsqf-field textarea{
	width:100%;
	border:1px solid #cbd8e2;
	border-radius:6px;
	background:var(--field);
	color:var(--ink);
	outline:0;
	box-shadow:none;
	transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}

.lgsqf-field input[type="text"],
.lgsqf-field input[type="email"],
.lgsqf-field input[type="tel"],
.lgsqf-field input[type="number"],
.lgsqf-field select{
	height:52px;
	padding:0 14px;
}

.lgsqf-field textarea{
	min-height:150px;
	padding:14px;
	resize:vertical;
}

.lgsqf-field input:focus,
.lgsqf-field select:focus,
.lgsqf-field textarea:focus{
	border-color:var(--blue);
	background:#fff;
	box-shadow:0 0 0 3px rgba(17,127,175,.12);
}

.lgsqf-section{
	margin:26px 0 0;
	padding:22px;
	border:1px solid #dfe7ee;
	border-radius:9px;
	background:#fbfcfd;
}

.lgsqf-section legend{
	padding:0 8px;
	font-size:16px;
}

.lgsqf-choice-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px 14px;
}

.lgsqf-choice-grid label{
	display:flex;
	align-items:flex-start;
	gap:9px;
	min-height:46px;
	padding:12px;
	border:1px solid #dce5ec;
	border-radius:6px;
	background:#fff;
	color:#294660;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
}

.lgsqf-choice-grid label:hover{
	border-color:#9bc7da;
	background:#f4fafc;
}

.lgsqf-choice-grid input{
	margin-top:2px;
	accent-color:var(--blue);
}

.lgsqf-choice-wide{grid-column:span 2}

.lgsqf-location h3{
	margin-bottom:15px;
	font-size:16px;
}

.lgsqf-help{
	margin:-2px 0 8px;
	color:#718190;
	font-size:13px;
	line-height:1.45;
}

.lgsqf-field input[type="file"]{
	width:100%;
	padding:12px;
	border:1px dashed #a9bdcc;
	border-radius:6px;
	background:#fbfcfd;
}

.lgsqf-consent{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin-top:24px;
	color:#566879;
	font-size:13px;
	line-height:1.5;
}

.lgsqf-consent input{
	margin-top:3px;
	accent-color:var(--blue);
}

.lgsqf-consent a{color:var(--blue)}

.lgsqf-submit-row{
	display:flex;
	align-items:center;
	gap:20px;
	margin-top:28px;
	padding-top:24px;
	border-top:1px solid #e3e9ee;
}

.lgsqf-submit{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-width:220px;
	min-height:56px;
	padding:0 24px;
	border:0;
	border-radius:7px;
	background:var(--orange);
	color:#fff;
	font-size:16px;
	font-weight:900;
	text-transform:uppercase;
	cursor:pointer;
	box-shadow:none;
}

.lgsqf-submit:hover,
.lgsqf-submit:focus-visible{background:#df6410}

.lgsqf-submit-row p{
	margin:0;
	color:#66798a;
	font-size:13px;
	line-height:1.45;
}

.lgsqf-alert{
	margin:0 38px 12px;
	padding:14px 16px;
	border-radius:7px;
	font-size:14px;
	line-height:1.45;
}

.lgsqf-success{
	border:1px solid #acd8b4;
	background:#f1fbf3;
	color:#25663a;
}

.lgsqf-error{
	border:1px solid #e5b3b3;
	background:#fff5f5;
	color:#8b2d2d;
}

.lgsqf-error a{color:inherit;font-weight:800}

.lgsqf-honeypot{
	position:absolute!important;
	left:-9999px!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
}

@media(max-width:900px){
	.lgsqf-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.lgsqf-grid-3{grid-template-columns:1fr}
	.lgsqf-choice-wide{grid-column:auto}
}

@media(max-width:650px){
	.lgsqf-wrap{padding:18px 12px}
	.lgsqf-intro{padding:26px 22px 20px}
	.lgsqf-intro h2{font-size:28px}
	.lgsqf-intro p{font-size:15px}
	.lgsqf-form{padding:4px 22px 26px}
	.lgsqf-grid-2,
	.lgsqf-choice-grid{grid-template-columns:1fr}
	.lgsqf-section{padding:18px 14px}
	.lgsqf-submit-row{
		align-items:stretch;
		flex-direction:column;
	}
	.lgsqf-submit{width:100%;min-width:0}
	.lgsqf-alert{margin:0 22px 10px}
}


/* v1.2.0 — Title + customer name row */
.lgsqf-grid-name{
	display:grid;
	grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);
	gap:22px;
}

@media(max-width:650px){
	.lgsqf-grid-name{
		grid-template-columns:1fr;
	}
}


/* =========================================================
   v1.2.1 — RESPONSIVE FORM REBUILD
   ========================================================= */

/* Desktop name row */
.lgsqf-grid-name{
	display:grid!important;
	grid-template-columns:120px minmax(0,1fr) minmax(0,1fr)!important;
	gap:22px!important;
}

/* Never allow fields to overflow their grid cells */
.lgsqf-form,
.lgsqf-form *{
	min-width:0;
}

.lgsqf-field input,
.lgsqf-field select,
.lgsqf-field textarea{
	max-width:100%!important;
}

/* Tablet */
@media(max-width:1024px){
	.lgsqf-wrap{
		max-width:100%!important;
		padding:22px 14px!important;
	}
	.lgsqf-intro{
		padding:28px 28px 20px!important;
	}
	.lgsqf-form{
		padding:6px 28px 30px!important;
	}
	.lgsqf-grid-name{
		grid-template-columns:110px minmax(0,1fr) minmax(0,1fr)!important;
		gap:16px!important;
	}
	.lgsqf-grid-2{
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		gap:16px!important;
	}
	.lgsqf-choice-grid{
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
}

/* Narrow tablet */
@media(max-width:800px){
	.lgsqf-grid-name{
		grid-template-columns:1fr 1fr!important;
	}
	.lgsqf-grid-name .lgsqf-field:first-child{
		grid-column:1 / -1;
		max-width:180px;
	}
	.lgsqf-grid-3{
		grid-template-columns:1fr 1fr!important;
	}
}

/* Mobile */
@media(max-width:650px){
	.lgsqf-wrap{
		padding:14px 8px!important;
	}
	.lgsqf-card{
		border-radius:8px!important;
	}
	.lgsqf-intro{
		padding:24px 18px 18px!important;
	}
	.lgsqf-intro h2{
		font-size:27px!important;
	}
	.lgsqf-intro p{
		font-size:14px!important;
		line-height:1.5!important;
	}
	.lgsqf-form{
		padding:2px 18px 24px!important;
	}
	.lgsqf-grid-name,
	.lgsqf-grid-2,
	.lgsqf-grid-3,
	.lgsqf-choice-grid{
		grid-template-columns:1fr!important;
		gap:0!important;
	}
	.lgsqf-grid-name .lgsqf-field:first-child{
		grid-column:auto!important;
		max-width:none!important;
	}
	.lgsqf-field{
		margin-top:17px!important;
	}
	.lgsqf-field input[type="text"],
	.lgsqf-field input[type="email"],
	.lgsqf-field input[type="tel"],
	.lgsqf-field input[type="number"],
	.lgsqf-field select{
		height:50px!important;
		font-size:16px!important;
	}
	.lgsqf-section{
		margin-top:22px!important;
		padding:16px 12px!important;
	}
	.lgsqf-choice-grid label{
		min-height:44px!important;
		font-size:14px!important;
	}
	.lgsqf-submit{
		width:100%!important;
	}
}

/* Very small phones */
@media(max-width:420px){
	.lgsqf-intro h2{
		font-size:24px!important;
	}
	.lgsqf-form{
		padding-left:14px!important;
		padding-right:14px!important;
	}
}


/* v1.2.2 — FIX EMAIL / PHONE ROW WIDTHS
   The title field must never control the width of the second row. */
.lgsqf-grid-2{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
	gap:22px!important;
	width:100%!important;
}
.lgsqf-grid-2 > .lgsqf-field{
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
}
.lgsqf-grid-2 > .lgsqf-field input,
.lgsqf-grid-2 > .lgsqf-field select,
.lgsqf-grid-2 > .lgsqf-field textarea{
	display:block!important;
	width:100%!important;
	max-width:100%!important;
	box-sizing:border-box!important;
}

@media(max-width:1024px){
	.lgsqf-grid-2{
		grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
		gap:16px!important;
	}
}

@media(max-width:650px){
	.lgsqf-grid-2{
		grid-template-columns:1fr!important;
		gap:0!important;
	}
}


/* v1.2.3 — ACTUAL CONTACT ROW STRUCTURE FIX */
.lgsqf-contact-grid{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
	gap:22px!important;
	width:100%!important;
}

.lgsqf-contact-grid .lgsqf-field,
.lgsqf-contact-grid input{
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
}

@media(max-width:650px){
	.lgsqf-contact-grid{
		grid-template-columns:1fr!important;
		gap:0!important;
	}
}
