/* Lainekarp – kontaktileht */

.lkc-wrap{
	display: grid;
	grid-template-columns: minmax(0, 21rem) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
	margin-bottom: 2rem;
}
.lkc-wrap h2{ margin: 0 0 .75rem; font-size: 1.5rem; font-weight: 600; }
.lkc-wrap h3{ margin: 0 0 .6rem; font-size: 1rem; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }

/* ---- left column ---- */
.lkc-details{ display: flex; flex-direction: column; gap: 1rem; }
.lkc-card{
	background: #fff;
	border: 1px solid var(--grey-200, #F0EBEA);
	border-radius: 16px;
	padding: 1.5rem;
}
.lkc-card p{ margin: 0 0 .35rem; }
.lkc-card p:last-child{ margin-bottom: 0; }
.lkc-card-primary{ background: var(--green, #005244); border-color: var(--green, #005244); color: #fff; }
.lkc-card-primary h2{ color: #fff; }
.lkc-lede{ margin: 0 0 1.25rem; opacity: .85; font-size: .95rem; }

.lkc-contact-list{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .9rem; }
.lkc-contact-list li{ display: flex; flex-direction: column; gap: .15rem; }
.lkc-label{ font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; opacity: .7; }
.lkc-contact-list a{ color: #fff; font-size: 1.1rem; font-weight: 500; text-decoration: none; }
.lkc-contact-list a:hover{ text-decoration: underline; }
.lkc-firma p{ margin: 0 0 .35rem; }

/* ---- form ---- */
.lkc-form-wrap{
	background: #fff;
	border: 1px solid var(--grey-200, #F0EBEA);
	border-radius: 16px;
	padding: 1.75rem;
}
.lkc-form{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.25rem;
}
.lkc-field{ margin: 0; display: flex; flex-direction: column; gap: .35rem; }
.lkc-field-wide, .lkc-actions{ grid-column: 1 / -1; }
.lkc-field label{ font-size: .875rem; font-weight: 500; }
.lkc-field .req{ color: var(--red, #CC1F2E); }
.lkc-field input,
.lkc-field select,
.lkc-field textarea{
	width: 100%;
	padding: .7rem .9rem;
	border: 1px solid var(--grey-400, #CACACA);
	border-radius: 8px;
	font-family: inherit;
	font-size: 1rem;
	background: #fff;
	color: inherit;
}
.lkc-field textarea{ resize: vertical; min-height: 8rem; }
.lkc-field input:focus,
.lkc-field select:focus,
.lkc-field textarea:focus{ outline: 2px solid var(--green, #005244); outline-offset: 1px; border-color: transparent; }

.lkc-actions{ display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: .25rem 0 0; }
.lkc-required-note{ font-size: .8rem; color: var(--grey-500, #7B7B7B); }
.lkc-btn{
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--green, #005244); color: #fff;
	border: 0; border-radius: 8px; cursor: pointer;
	padding: .85rem 2rem; font-size: 1rem; font-weight: 500;
	text-decoration: none;
	transition: background-color .2s ease;
}
.lkc-btn:hover{ background: var(--dgreen, #002D25); color: #fff; }
.lkc-btn.is-loading{ opacity: .7; cursor: default; }

.lkc-errors{
	background: #FADDDF;
	border: 1px solid var(--red, #CC1F2E);
	border-radius: 8px;
	padding: .9rem 1.15rem;
	margin-bottom: 1.25rem;
}
.lkc-errors ul{ margin: 0; padding-left: 1.1rem; }

.lkc-success{
	background: var(--green-light, #d2ecb6);
	border-radius: 16px;
	padding: 2rem;
	max-width: 44rem;
}
.lkc-success h2{ margin-top: 0; }

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

@media (max-width: 991px){
	.lkc-wrap{ grid-template-columns: 1fr; }
}
@media (max-width: 575px){
	.lkc-form{ grid-template-columns: 1fr; }
	.lkc-form-wrap, .lkc-card{ padding: 1.25rem; }
	.lkc-btn{ width: 100%; }
}

/* ---- sales contact person (inside the green card) ---- */
.lkc-person{
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255,255,255,.25);
}
.lkc-person-name{
	margin: 0 0 .15rem;
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.lkc-person-role{
	margin: 0 0 .9rem;
	font-size: .875rem;
	opacity: .8;
}
.lkc-person .lkc-contact-list{ gap: .35rem; }
.lkc-person .lkc-contact-list li{ flex-direction: row; }
.lkc-person .lkc-contact-list a{ font-size: 1rem; font-weight: 500; }

/* ---- general company contacts (inside the white address card) ---- */
.lkc-general{
	list-style: none;
	margin: .75rem 0 0;
	padding: .75rem 0 0;
	border-top: 1px solid var(--grey-200, #F0EBEA);
	display: flex;
	flex-direction: column;
	gap: .3rem;
}
.lkc-general a{
	color: var(--green, #005244);
	font-weight: 500;
	text-decoration: none;
}
.lkc-general a:hover{ text-decoration: underline; }

/* ---------------------------------------------------------------------------
 * Guard against the theme's generic content-link rule.
 *
 * style.css (~L4536):
 *   .single .post-wrapper .entry-content a,
 *   .page .simple-content p a,
 *   .term-description a { color: var(--rose); text-decoration: underline; }
 *
 * That is (0,2,2) — two classes plus two elements — and beats any plain component class, so a
 * <p><a class="lkc-btn"> inside the page content was rendered as rose
 * underlined text instead of a button. Re-assert only the two properties the
 * theme forces — colour and text-decoration — and keep the hover behaviour.
 * ------------------------------------------------------------------------ */
a.lkc-btn,
.lkc-wrap a.lkc-btn,
.lkc-success a.lkc-btn{
	color: #fff !important;
	text-decoration: none !important;
}
a.lkc-btn:hover,
a.lkc-btn:focus-visible{
	color: #fff !important;
	text-decoration: none !important;
}

/* white links on the green card */
.lkc-card-primary .lkc-contact-list a{
	color: #fff !important;
	text-decoration: none !important;
}
.lkc-card-primary .lkc-contact-list a:hover{ text-decoration: underline !important; }

/* green links in the white address card */
.lkc-general a{
	color: var(--green, #005244) !important;
	text-decoration: none !important;
}
.lkc-general a:hover{ text-decoration: underline !important; }
