/* Lefkon Forms - front-end styles (Lefkon palette) */
.lff-form{
	--lff-navy:#18140f;
	--lff-gold:#cbb2a4;
	--lff-gold-deep:#b0937f;
	--lff-ink:#3a3530;
	--lff-muted:#6f675f;
	--lff-line:rgba(203,178,164,.34);
	--lff-field:#fdfcf9;
	--lff-radius:0px;
	--lff-btn-text:#ffffff;
	--lff-btn-bg:#18140f;
	--lff-maxw:720px;
	font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
	color:var(--lff-ink);
	max-width:var(--lff-maxw,720px);
}
.lff-form *{box-sizing:border-box}
.lff-form__head{margin-bottom:20px}
.lff-form__title{font-family:inherit;color:var(--lff-navy);font-size:1.3rem;line-height:1.25;margin:0 0 5px}
.lff-form__sub{color:var(--lff-muted);font-size:.92rem;margin:0}

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

.lff-field > label{
	font-family:inherit;font-weight:500;color:var(--lff-navy);
	font-size:10px;letter-spacing:.18em;text-transform:uppercase;
	margin-bottom:9px;display:block;
}
.lff-req{color:var(--lff-gold-deep)}

.lff-form input[type=text],
.lff-form input[type=email],
.lff-form input[type=tel],
.lff-form input[type=number],
.lff-form input[type=date],
.lff-form select,
.lff-form textarea{
	width:100%;
	font-family:inherit;font-size:.95rem;color:var(--lff-navy);
	background:var(--lff-field);
	border:1px solid var(--lff-line);
	border-radius:var(--lff-radius);
	padding:13px 15px;
	transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
	-webkit-appearance:none;appearance:none;
}
.lff-form textarea{min-height:130px;resize:vertical;line-height:1.55}
.lff-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='%2315294d'%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;
}
.lff-form ::placeholder{color:#9aa3b2;opacity:1}
.lff-form input:focus,
.lff-form select:focus,
.lff-form textarea:focus{
	outline:none;border-color:var(--lff-gold);
	box-shadow:0 0 0 3px rgba(192,160,98,.16);background:#fff;
}
.lff-form input.lff-invalid,
.lff-form select.lff-invalid,
.lff-form textarea.lff-invalid{border-color:#d96666;box-shadow:0 0 0 3px rgba(217,102,102,.14)}

.lff-check{flex-direction:row;align-items:center;gap:8px;font-family:inherit;font-weight:500;color:var(--lff-ink);font-size:.92rem;display:flex}
.lff-check input{width:auto}

/* Yes / No toggle */
.lff-toggle{
	display:flex;align-items:center;justify-content:space-between;gap:14px;
	background:var(--lff-field);border:1px solid var(--lff-line);border-radius:var(--lff-radius);
	padding:12px 16px;
}
.lff-toggle__label{font-family:inherit;font-weight:600;color:var(--lff-navy);font-size:.9rem}
.lff-toggle__opts{position:relative;display:inline-flex;background:#fff;border:1px solid var(--lff-line);border-radius:8px;padding:3px;gap:2px;flex:none}
.lff-toggle__opts input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.lff-toggle__opts label{
	cursor:pointer;font-family:inherit;font-weight:600;font-size:.82rem;
	padding:6px 18px;border-radius:6px;color:var(--lff-muted);transition:background .15s ease,color .15s ease;margin:0;
}
.lff-toggle__opts input:checked + label{background:var(--lff-navy);color:#fff}
.lff-toggle__opts input:focus-visible + label{box-shadow:0 0 0 3px rgba(192,160,98,.25)}

/* Sub-options revealed while the toggle is "Yes" */
.lff-toggle__sub{
	display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;
	margin-top:10px;padding:12px 16px;
	background:var(--lff-field);border:1px solid var(--lff-line);
	border-left:3px solid var(--lff-gold);border-radius:var(--lff-radius);
}
.lff-toggle__sub[hidden]{display:none}
.lff-toggle__subopt{margin:0;cursor:pointer}
.lff-toggle__sub input[type=checkbox]{accent-color:var(--lff-gold-deep);width:16px;height:16px;flex:none;cursor:pointer}
@media(max-width:620px){.lff-toggle__sub{grid-template-columns:1fr}}

/* File upload */
.lff-field--file label.lff-file{
	display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;
	background:var(--lff-field);border:1px dashed var(--lff-line);border-radius:var(--lff-radius);
	padding:12px 16px;color:var(--lff-muted);font-size:.92rem;font-weight:500;
	transition:border-color .15s ease,color .15s ease;
}
.lff-field--file label.lff-file:hover{border-color:var(--lff-gold);color:var(--lff-navy)}
.lff-file__icon{width:17px;height:17px;flex:none;stroke:var(--lff-gold-deep)}
.lff-file__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lff-file input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}

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

.lff-form__foot{margin-top:20px}
.lff-form .lff-form__submit{
	width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
	font-family:inherit;font-weight:500;font-size:11px;line-height:1.2;
	text-transform:uppercase;letter-spacing:.26em;
	color:var(--lff-btn-text)!important;
	background:var(--lff-btn-bg)!important;
	border:none!important;border-radius:var(--lff-radius)!important;
	padding:17px 26px;margin:0;cursor:pointer;
	text-decoration:none!important;box-shadow:none;
	transition:filter .2s ease,transform .15s ease,opacity .2s ease;
}
.lff-form .lff-form__submit:hover,
.lff-form .lff-form__submit:focus,
.lff-form .lff-form__submit:active{
	color:var(--lff-btn-text)!important;background:var(--lff-btn-bg)!important;border:none!important;outline:none;
	background:#3a3028!important;transform:none;
}
.lff-form .lff-form__submit svg{width:17px;height:17px;flex:none;stroke:var(--lff-btn-text)!important;fill:none!important}
.lff-form .lff-form__submit:disabled{opacity:.65;cursor:default;transform:none;filter:none}
.lff-form.is-sending .lff-form__submit{opacity:.7;cursor:progress}

.lff-form__note{color:var(--lff-muted);font-size:11px;letter-spacing:.04em;text-align:center;margin:14px 0 0}

.lff-form__msg{margin-top:14px;font-size:.92rem;border-radius:0;padding:0;line-height:1.5}
.lff-form__msg.is-error{background:#fdeaea;color:#a23535;border:1px solid #f3c9c9;padding:12px 14px}
.lff-form__msg.is-success{background:#e9f6ef;color:#1f7a4d;border:1px solid #bfe6d0;padding:12px 14px}

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