/* Nijo Forms - front-end styles. Colours come from the site's brand (--nf-accent, --nf-btn-*). */
.nf-form{
	--nf-accent:#1f3a5f;
	--nf-head:#111827;
	--nf-ink:#374151;
	--nf-muted:#6b7280;
	--nf-line:#d9dee6;
	--nf-field:#ffffff;
	--nf-radius:8px;
	--nf-btn-bg:var(--nf-accent);
	--nf-btn-text:#ffffff;
	--nf-maxw:760px;
	font-family:inherit;
	color:var(--nf-ink);
	max-width:var(--nf-maxw);
	width:100%;
}
.nf-form *{box-sizing:border-box}
.nf-form__head{margin-bottom:18px}
.nf-form__title{font-family:inherit;color:var(--nf-head);font-size:1.3rem;font-weight:700;line-height:1.3;margin:0 0 4px}
.nf-form__sub{color:var(--nf-muted);font-size:.95rem;margin:0}

.nf-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.nf-field{display:flex;flex-direction:column;min-width:0}
.nf-field--full{grid-column:1 / -1}
.nf-field--half{grid-column:span 1}
.nf-field--hidden{display:none}

.nf-field > label{font-weight:600;color:var(--nf-head);font-size:.9rem;margin:0 0 6px;display:block}
.nf-req{color:#c2410c}

.nf-form input[type=text],
.nf-form input[type=email],
.nf-form input[type=tel],
.nf-form input[type=number],
.nf-form input[type=date],
.nf-form select,
.nf-form textarea{
	width:100%;margin:0;
	font-family:inherit;font-size:16px;line-height:1.4;color:var(--nf-head);
	background:var(--nf-field);
	border:1px solid var(--nf-line);
	border-radius:var(--nf-radius);
	padding:12px 14px;min-height:48px;
	transition:border-color .18s ease,box-shadow .18s ease;
	-webkit-appearance:none;appearance:none;box-shadow:none;
}
.nf-form textarea{min-height:130px;resize:vertical;line-height:1.55}
.nf-form select{
	background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%208'%3E%3Cpath%20fill='none'%20stroke='%23374151'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M1%201.5l5%205%205-5'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:38px;cursor:pointer;
}
.nf-form ::placeholder{color:#9ca3af;opacity:1}
.nf-form input:focus,.nf-form select:focus,.nf-form textarea:focus{
	outline:none;border-color:var(--nf-accent);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--nf-accent) 18%,transparent);
}
.nf-form .nf-invalid{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important}
.nf-form input[type=checkbox].nf-invalid{outline:2px solid #dc2626;outline-offset:2px}

.nf-check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;color:var(--nf-ink);font-size:.9rem;line-height:1.5;cursor:pointer;margin:0}
.nf-check input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--nf-accent);cursor:pointer}
.nf-check a{color:var(--nf-accent);text-decoration:underline}
.nf-field--newsletter,.nf-field--consent{margin-top:-2px}

/* Yes / No toggle */
.nf-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--nf-field);border:1px solid var(--nf-line);border-radius:var(--nf-radius);padding:10px 14px}
.nf-toggle__label{font-weight:600;color:var(--nf-head);font-size:.9rem}
.nf-toggle__opts{position:relative;display:inline-flex;background:#f3f4f6;border-radius:8px;padding:3px;gap:2px;flex:none}
.nf-toggle__opts input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.nf-toggle__opts label{cursor:pointer;font-weight:600;font-size:.85rem;padding:6px 16px;border-radius:6px;color:var(--nf-muted);margin:0}
.nf-toggle__opts input:checked + label{background:var(--nf-accent);color:#fff}
.nf-toggle__sub{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:10px;padding:12px 14px;border:1px solid var(--nf-line);border-left:3px solid var(--nf-accent);border-radius:var(--nf-radius)}
.nf-toggle__sub[hidden]{display:none}

/* File upload */
.nf-field--file label.nf-file{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;position:relative;background:var(--nf-field);border:1px dashed var(--nf-line);border-radius:var(--nf-radius);padding:12px 14px;color:var(--nf-muted);font-size:.92rem}
.nf-field--file label.nf-file:hover{border-color:var(--nf-accent);color:var(--nf-head)}
.nf-file__icon{width:17px;height:17px;flex:none;stroke:var(--nf-accent)}
.nf-file__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nf-file input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}

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

.nf-form__foot{margin-top:18px}
.nf-form .nf-form__submit{
	width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;
	font-family:inherit;font-weight:700;font-size:1rem;line-height:1.2;
	color:var(--nf-btn-text)!important;background:var(--nf-btn-bg)!important;
	border:none!important;border-radius:var(--nf-radius)!important;
	padding:14px 22px;margin:0;cursor:pointer;text-transform:none!important;letter-spacing:normal;box-shadow:none;
	transition:filter .2s ease,transform .15s ease,opacity .2s ease;
}
.nf-form .nf-form__submit:hover,.nf-form .nf-form__submit:focus-visible{filter:brightness(1.08);transform:translateY(-1px)}
.nf-form .nf-form__submit:focus-visible{outline:3px solid color-mix(in srgb,var(--nf-accent) 35%,transparent);outline-offset:2px}
.nf-form .nf-form__submit svg{width:17px;height:17px;flex:none;stroke:var(--nf-btn-text)!important;fill:none!important}
.nf-form .nf-form__submit:disabled{opacity:.65;cursor:progress;transform:none;filter:none}

.nf-form__note{color:var(--nf-muted);font-size:.82rem;text-align:center;margin:10px 0 0}
.nf-form__msg{margin-top:12px;font-size:.93rem;border-radius:8px;line-height:1.5}
.nf-form__msg:empty{display:none}
.nf-form__msg.is-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:12px 14px}
.nf-form__msg.is-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;padding:12px 14px}

@media(max-width:640px){
	.nf-form__grid{grid-template-columns:1fr}
	.nf-field--half{grid-column:1 / -1}
	.nf-toggle__sub{grid-template-columns:1fr}
}

/* Product page: button + enquiry section */
.nf-quote-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:12px 0 0;padding:12px 24px;border-radius:8px;font-weight:700;text-decoration:none!important;background:var(--nf-accent,#1f3a5f);color:#fff!important;transition:filter .2s ease}
.nf-quote-btn:hover{filter:brightness(1.08)}
.nf-quote{clear:both;margin:40px auto;padding:28px;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa;max-width:860px;scroll-margin-top:110px}
.nf-quote__title{margin:0 0 16px;font-size:1.35rem;line-height:1.3}
.nf-quote .nf-form{max-width:none}
@media(max-width:640px){.nf-quote{padding:18px;margin:28px 0}}

/* Thank-you page */
.nf-thanks{max-width:640px;margin:40px auto;padding:40px 28px;text-align:center;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.nf-thanks__icon{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--nf-accent,#1f3a5f) 12%,#fff);color:var(--nf-accent,#1f3a5f)}
.nf-thanks__icon svg{width:30px;height:30px}
.nf-thanks__title{margin:0 0 10px;font-size:1.7rem;line-height:1.25}
.nf-thanks__text{margin:0 auto;max-width:520px;color:#4b5563;line-height:1.65}
.nf-thanks__note{margin:16px auto 0;max-width:520px;padding:12px 14px;border-radius:8px;background:#f9fafb;color:#374151;font-size:.95rem}
.nf-thanks__actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:center;align-items:center}
.nf-thanks__btn{display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;border-radius:8px;background:var(--nf-accent,#1f3a5f);color:#fff!important;font-weight:700;text-decoration:none!important}
.nf-thanks__link{color:var(--nf-accent,#1f3a5f);font-weight:600}
