/* ==========================================================================
   Kontaktai (Contact) page — Udiena
   ========================================================================== */

.contact-page-content { padding: 8px 0 16px; }

/* Page editor content, shown above the contact form */
.contact-page-text {
	margin-bottom: 32px;
	color: var(--udiena-color-text);
	line-height: 1.7;
}
.contact-page-text > :first-child { margin-top: 0; }
.contact-page-text > :last-child { margin-bottom: 0; }
/* In the left grid column (form hidden) the grid gap handles spacing. */
.contact-page-text--column { margin-bottom: 0; }

/* Info cards grid */
.contact-info-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin-bottom: 32px;
}
.contact-info-card {
	background: #fff;
	border: 1px solid var(--udiena-color-border);
	border-radius: var(--udiena-radius-lg);
	padding: 22px 18px;
	text-align: center;
	box-shadow: var(--udiena-shadow-sm);
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.contact-info-card:hover {
	box-shadow: var(--udiena-shadow);
	transform: translateY(-3px);
	border-color: var(--udiena-color-primary);
}
.contact-icon {
	width: 60px;
	height: 60px;
	margin: 0 auto 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--udiena-color-primary) 0%, var(--udiena-color-primary-dark) 100%);
	border-radius: 50%;
	color: #fff;
}
.contact-info-card h3 { font-size: 1.05rem; margin: 0 0 8px; }
.contact-info-card p { color: var(--udiena-color-muted); margin: 0; line-height: 1.7; }
.contact-info-card a { color: var(--udiena-color-primary); }
.contact-info-card a:hover { color: var(--udiena-color-primary-dark); }

/* Main grid: form + sidebar */
.contact-main-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-bottom: 32px;
}

.contact-form-section {
	background: #fff;
	border: 1px solid var(--udiena-color-border);
	border-radius: var(--udiena-radius-lg);
	padding: 20px;
	box-shadow: var(--udiena-shadow-sm);
}
.contact-form-section h2 { font-size: 1.35rem; margin: 0 0 8px; }
.form-intro { color: var(--udiena-color-muted); margin: 0 0 20px; }

/* Form */
.contact-form { display: flex; flex-direction: column; gap: 16px; }
.form-row { display: grid; grid-template-columns: 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 5px; }
.form-group label { font-size: 0.85rem; font-weight: 600; color: #374151; }
.form-group label .required { color: var(--udiena-color-accent); }
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group select,
.form-group textarea {
	padding: 11px 12px;
	border: 1px solid #d1d5db;
	border-radius: var(--udiena-radius);
	font-size: 1rem;
	font-family: inherit;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	width: 100%;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	outline: none;
	border-color: var(--udiena-color-primary);
	box-shadow: 0 0 0 3px rgba(29, 71, 137, 0.12);
}
.form-group textarea { resize: vertical; min-height: 120px; }
.form-group select {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 36px;
}
.form-checkbox { flex-direction: row; align-items: flex-start; gap: 8px; }
.form-checkbox input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--udiena-color-primary); cursor: pointer; }
.form-checkbox label { font-weight: 400; cursor: pointer; }
.form-checkbox label a { color: var(--udiena-color-primary); text-decoration: underline; }

.btn-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: linear-gradient(135deg, var(--udiena-color-primary) 0%, var(--udiena-color-primary-dark) 100%);
	color: #fff;
	padding: 13px 24px;
	border: none;
	border-radius: var(--udiena-radius);
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	align-self: flex-start;
}
.btn-submit:hover { transform: translateY(-2px); box-shadow: var(--udiena-shadow); }
.btn-submit svg { flex-shrink: 0; }

/* Sidebar */
.contact-sidebar { display: flex; flex-direction: column; gap: 20px; }
.contact-department {
	background: #fff;
	border: 1px solid var(--udiena-color-border);
	border-radius: var(--udiena-radius-lg);
	padding: 18px;
	box-shadow: var(--udiena-shadow-sm);
}
.contact-department h3 {
	font-size: 1.05rem;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--udiena-color-primary);
}
.department-contacts { list-style: none; margin: 0; padding: 0; }
.department-contacts li {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 10px 0;
	border-bottom: 1px dashed var(--udiena-color-border);
}
.department-contacts li:last-child { border-bottom: none; padding-bottom: 0; }
.department-contacts li strong { font-size: 0.85rem; color: var(--udiena-color-text); }
.department-contacts li a { font-size: 0.85rem; color: var(--udiena-color-primary); }
.department-contacts li a:hover { color: var(--udiena-color-primary-dark); }

/* Social */
.contact-social {
	background: var(--udiena-color-bg-dark);
	border-radius: var(--udiena-radius-lg);
	padding: 18px;
	text-align: center;
}
.contact-social h3 { font-size: 1.05rem; color: #fff; margin: 0 0 12px; }
.social-links-large { display: flex; justify-content: center; gap: 12px; }
.social-links-large a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	background: var(--udiena-color-primary);
	border-radius: 50%;
	color: #fff;
	transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.social-links-large a:hover { background: #fff; color: var(--udiena-color-primary); transform: scale(1.08); }

/* Map */
.contact-map-section { margin-bottom: 16px; }
.contact-map-section h2 { font-size: 1.35rem; margin: 0 0 16px; text-align: center; }
.map-container {
	border-radius: var(--udiena-radius-lg);
	overflow: hidden;
	box-shadow: var(--udiena-shadow);
	border: 1px solid var(--udiena-color-border);
}
.map-container iframe { display: block; width: 100%; }
.map-directions {
	background: var(--udiena-color-bg-alt);
	border-left: 4px solid var(--udiena-color-primary);
	padding: 12px 16px;
	margin-top: 16px;
	border-radius: 0 var(--udiena-radius) var(--udiena-radius) 0;
}
.map-directions p { margin: 0; font-size: 0.85rem; color: #374151; }

/* Company / legal info */
.contact-company {
	margin: 8px 0 16px;
	padding: 18px 20px;
	background: var(--udiena-color-bg-alt);
	border: 1px solid var(--udiena-color-border);
	border-radius: var(--udiena-radius-lg);
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--udiena-color-muted);
	text-align: center;
}
.contact-company p { margin: 0 0 10px; }
.contact-company p:last-child { margin-bottom: 0; }

/* Contact Form 7 forms are styled in style.css ("Contact Form 7"), for every page. */

/* Tablet+ */
@media (min-width: 600px) {
	.contact-info-grid { grid-template-columns: repeat(2, 1fr); }
	.form-row { grid-template-columns: repeat(2, 1fr); }
	.contact-form-section { padding: 28px; }
}

@media (min-width: 1000px) {
	.contact-info-grid { grid-template-columns: repeat(4, 1fr); }
	.contact-main-grid:not(.contact-main-grid--no-form) { grid-template-columns: 2fr 1fr; align-items: start; }
}
