/* Additions for the dynamic version - the original theme files are untouched. */

/* Language switcher, sits next to the dark/light switcher */
.header .lang-btn {
	margin-right: 30px;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	min-width: 25px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	font-family: 'Cairo', 'Jost', sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: #000;
	text-decoration: none;
}
.header .lang-btn:hover { color: #29a587; }
.dark-skin .header .lang-btn { color: #fff; }
.dark-skin .header .lang-btn:hover { color: #29a587; }

/* Clickable contact values keep the theme text style */
.numbers-item .lui-text a.contact-value { color: inherit; text-decoration: none; }
.numbers-item .lui-text a.contact-value:hover { color: #29a587; }

/* Captcha row: image + refresh + answer, using the theme's input style */
.contacts-form .captcha-row {
	margin-top: 10px;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	text-indent: 0;
	direction: ltr;
}
.contacts-form .captcha-img {
	display: block;
	width: 180px;
	height: 52px;
	border: 2px solid #000;
	border-radius: 30px;
	box-shadow: 5px 5px 0px 0px rgb(0 0 0 / 20%);
	background: #fff;
	object-fit: cover;
}
.contacts-form .captcha-refresh {
	font-size: 18px;
	color: #000;
	text-decoration: none;
	transition: transform .3s;
}
.contacts-form .captcha-refresh:hover { color: #29a587; transform: rotate(180deg); }
.dark-skin .contacts-form .captcha-refresh { color: #fff; }
.dark-skin .contacts-form .captcha-img { border-color: #fff; }
.contacts-form .captcha-row input[name="captcha"] {
	margin-top: 0;
	flex: 0 0 140px;
	width: 140px;
	text-align: center;
	text-indent: 0;
}
.contacts-form .captcha-row label.error { flex-basis: 100%; }

/* Hidden honeypot field in the contact form */
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* Contact result popup - same look as the theme's cards and buttons */
.contact-popup {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	opacity: 0;
	transition: opacity .25s ease;
}
.contact-popup[hidden] { display: none; }
.contact-popup.is-open { opacity: 1; }
.contact-popup__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	cursor: pointer;
}
.contact-popup__box {
	position: relative;
	width: 100%;
	max-width: 440px;
	padding: 60px 30px 30px;
	background: #fff;
	border: 2px solid #000;
	border-radius: 20px;
	box-shadow: 8px 8px 0 0 rgb(0 0 0 / 20%);
	text-align: center;
	transform: translateY(20px) scale(.97);
	transition: transform .25s cubic-bezier(0.3, 0, 0.3, 1);
}
.contact-popup.is-open .contact-popup__box { transform: none; }
.contact-popup__icon {
	position: absolute;
	top: -36px;
	left: 50%;
	margin-left: -36px;
	width: 72px;
	height: 72px;
	line-height: 68px;
	font-size: 28px;
	color: #fff;
	background: #29a587;
	border: 2px solid #000;
	border-radius: 50%;
	box-shadow: 5px 5px 0 0 rgb(0 0 0 / 20%);
}
.contact-popup.is-error .contact-popup__icon { background: #e04848; }
.contact-popup__title {
	margin: 0 0 12px;
	font-size: 26px;
	font-weight: 700;
	color: #000;
}
.contact-popup__text p {
	margin: 0 0 6px;
	font-size: 16px;
	opacity: .8;
}
.contact-popup__text { margin-bottom: 26px; }
.dark-skin .contact-popup__box { background: #222831; border-color: #fff; box-shadow: 8px 8px 0 0 rgb(255 255 255 / 15%); }
.dark-skin .contact-popup__title { color: #fff; }
.dark-skin .contact-popup__icon { border-color: #fff; }


/* Portfolio screenshots: show the complete image without cropping or hover zoom. */
#works-section .works-item .image .img img {
  object-fit: contain !important;
  object-position: center center;
  transform: none !important;
}
