/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Keep footer at the bottom on short pages. */
body.wp-theme-astra #page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

body.wp-theme-astra #content.site-content {
	flex: 1 0 auto;
}

body.wp-theme-astra #colophon.site-footer {
	margin-top: auto;
}

:root {
	--pressovac-control-radius: 6px;
}

/* Remove side spacing on Air/Grease pages. */
body.page-id-1985 .site-content > .ast-container,
body.page-id-1988 .site-content > .ast-container {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

body.page-id-1985 .ast-article-single .entry-header,
body.page-id-1988 .ast-article-single .entry-header {
	padding-top: 48px;
	padding-bottom: 12px;
	padding-left: 0;
	padding-right: 0;
}

body.page-id-1985 .ast-article-single .entry-title,
body.page-id-1988 .ast-article-single .entry-title {
	font-weight: 800;
}

body.page-id-1985 .ast-article-single .entry-content,
body.page-id-1988 .ast-article-single .entry-content {
	padding-bottom: 48px;
	padding-left: 0;
	padding-right: 0;
}

/* Prevent horizontal page scroll on mobile. */
@media (max-width: 921px) {
	html,
	body,
	body.wp-theme-astra #page {
		overflow-x: hidden;
	}
}

.pressovac-language-trigger {
	display: none;
}

/* Desktop header layout: Logo -> Menu -> Request a Quote -> Language dropdown. */
@media (min-width: 1181px) {
	.site-header-primary-section-right {
		display: flex;
		align-items: center;
		gap: 4px;
		flex-wrap: nowrap;
	}

	.site-header-primary-section-center {
		flex: 1 1 auto;
		min-width: 0;
	}

	.site-header-primary-section-center .ast-builder-menu-1 {
		flex: 1 1 auto;
		min-width: 0;
	}

	.site-header-primary-section-right .ast-header-button-1 {
		order: 2;
		flex: 0 0 auto;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element {
		order: 3;
		flex: 0 0 auto;
		position: relative;
		z-index: 30;
	}

	.site-header-primary-section-right .ast-header-button-1 .ast-custom-button,
	.site-header-primary-section-right .ast-header-button-1 .menu-link {
		white-space: nowrap;
	}

	.site-header-primary-section-right .ast-header-button-1 .ast-custom-button-link {
		display: inline-flex;
		align-items: center;
	}

	.site-header-primary-section-right .ast-header-button-1 .ast-custom-button {
		min-height: 32px;
		padding: 5px 14px;
		display: inline-flex;
		align-items: center;
		line-height: 1;
		font-size: 13px;
	}

	.site-header-primary-section-center .ast-main-header-bar-alignment {
		width: 100%;
		margin-right: 4px;
	}

	.site-header-primary-section-center .main-header-menu {
		flex-wrap: nowrap;
	}

	.site-header-primary-section-center .main-header-menu > .menu-item > .menu-link {
		padding-left: 9px;
		padding-right: 9px;
		white-space: nowrap;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced .ast-builder-language-switcher-wrapper {
		position: static;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced .ast-builder-language-switcher-menu {
		list-style: none;
		margin: 0;
		padding: 0;
		position: absolute;
		top: calc(100% + 6px);
		right: 0;
		left: auto;
		min-width: 100%;
		max-width: calc(100vw - 24px);
		border: 1px solid #f87116;
		background: #fff;
		box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
		display: none;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced.is-open .ast-builder-language-switcher-menu > li {
		display: block;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced.is-open .ast-builder-language-switcher-menu {
		display: block;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced .ast-builder-language-switcher-menu > li {
		margin-right: 0 !important;
		display: block;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced .ast-builder-language-switcher-menu > li.is-current-language {
		display: none;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced .pressovac-language-trigger {
		display: flex;
		align-items: center;
		gap: 6px;
		min-height: 32px;
		padding: 5px 9px;
		border: 1px solid #f87116;
		border-radius: var(--pressovac-control-radius);
		background: #fff;
		color: #1f2937;
		text-decoration: none;
		white-space: nowrap;
		cursor: pointer;
		font-size: 13px;
		font-weight: 400;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced .pressovac-language-trigger::after {
		content: '';
		margin-left: 6px;
		border-left: 3px solid transparent;
		border-right: 3px solid transparent;
		border-top: 4px solid #f87116;
		transition: transform 0.2s ease;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced.is-open .pressovac-language-trigger::after {
		transform: rotate(180deg);
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced .ast-builder-language-switcher-item {
		display: flex;
		align-items: center;
		gap: 6px;
		min-height: 30px;
		padding: 5px 9px;
		border: 0;
		border-radius: var(--pressovac-control-radius);
		background: #fff;
		color: #1f2937;
		text-decoration: none;
		white-space: nowrap;
		font-size: 13px;
		font-weight: 400;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element.is-enhanced .ast-builder-language-switcher-menu > li + li .ast-builder-language-switcher-item {
		border-top: 1px solid #fbe3d4;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element .pressovac-language-trigger:hover,
	.site-header-primary-section-right .ast-header-language-switcher-element .pressovac-language-trigger:focus,
	.site-header-primary-section-right .ast-header-language-switcher-element .ast-builder-language-switcher-item:hover,
	.site-header-primary-section-right .ast-header-language-switcher-element .ast-builder-language-switcher-item:focus {
		color: #f87116;
		background: #fff7f0;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element .pressovac-language-trigger:focus-visible,
	.site-header-primary-section-right .ast-header-language-switcher-element .ast-builder-language-switcher-item:focus-visible {
		outline: 2px solid #f87116;
		outline-offset: 1px;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element .ast-builder-language-switcher-native-name {
		line-height: 1.1;
		font-weight: 400;
	}

	.site-header-primary-section-right .ast-header-language-switcher-element .ast-lswitcher-item-header img {
		width: 16px;
		height: auto;
	}
}

/* Home featured carousel: keep arrows as text at bottom, Next pinned to right edge. */
:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) {
	--pressovac-carousel-controls-offset: 56px;
	--pressovac-carousel-controls-inset: 20px;
	--pressovac-carousel-controls-baseline: 0px;
	position: relative;
	padding-bottom: var(--pressovac-carousel-controls-offset);
}

@media (min-width: 922px) {
	:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) {
		--pressovac-carousel-controls-inset: clamp(72px, 12vw, 180px);
	}
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .e-n-carousel,
:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .swiper,
:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) .elementor-widget-container > .e-n-carousel,
:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) .elementor-widget-container > .swiper {
	padding-bottom: 0 !important;
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button {
	position: absolute !important;
	top: auto !important;
	bottom: var(--pressovac-carousel-controls-baseline) !important;
	transform: none !important;
	display: flex;
	align-items: center;
	min-width: auto;
	height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	z-index: 6;
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button-prev {
	left: var(--pressovac-carousel-controls-inset) !important;
	right: auto !important;
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button-next {
	right: var(--pressovac-carousel-controls-inset) !important;
	left: auto !important;
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button i,
:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button svg {
	display: none;
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button::before {
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #1f2937;
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button-prev::before {
	content: "Previous";
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button-next::before {
	content: "Next";
}

html[lang^='fi'] :is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button-prev::before,
body.lang-fi :is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button-prev::before {
	content: "Edellinen";
}

html[lang^='fi'] :is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button-next::before,
body.lang-fi :is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .elementor-swiper-button-next::before {
	content: "Seuraava";
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .swiper-pagination {
	position: absolute !important;
	left: 50% !important;
	right: auto !important;
	bottom: var(--pressovac-carousel-controls-baseline) !important;
	transform: translateX(-50%) !important;
	width: auto !important;
	display: flex;
	align-items: center;
	margin: 0 !important;
}

:is(.elementor-element.elementor-element-ae1656d, .elementor-element.elementor-element-29c6193) > .swiper-pagination .swiper-pagination-bullet {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Home page CF7 form: slimmer visual style. */
body.page-id-1004 .wpcf7 form.wpcf7-form,
body.page-id-2231 .wpcf7 form.wpcf7-form {
	max-width: 640px;
	margin: 0 auto;
}

body.page-id-1004 .wpcf7 form p,
body.page-id-2231 .wpcf7 form p {
	margin: 0 0 10px;
}

body.page-id-1004 .wpcf7 form label,
body.page-id-2231 .wpcf7 form label {
	display: block;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	color: #263446;
}

body.page-id-1004 .wpcf7 form .wpcf7-form-control-wrap,
body.page-id-2231 .wpcf7 form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 5px;
}

body.page-id-1004 .wpcf7 form input[type='text'],
body.page-id-2231 .wpcf7 form input[type='text'],
body.page-id-1004 .wpcf7 form input[type='email'],
body.page-id-2231 .wpcf7 form input[type='email'],
body.page-id-1004 .wpcf7 form input[type='tel'],
body.page-id-2231 .wpcf7 form input[type='tel'],
body.page-id-1004 .wpcf7 form input[type='url'],
body.page-id-2231 .wpcf7 form input[type='url'],
body.page-id-1004 .wpcf7 form input[type='number'],
body.page-id-2231 .wpcf7 form input[type='number'],
body.page-id-1004 .wpcf7 form select,
body.page-id-2231 .wpcf7 form select,
body.page-id-1004 .wpcf7 form textarea,
body.page-id-2231 .wpcf7 form textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 1px solid #ced8e3;
	border-radius: var(--pressovac-control-radius);
	padding: 9px 12px;
	font-size: 14px;
	line-height: 1.35;
	background: #fff;
}

body.page-id-1004 .wpcf7 form textarea,
body.page-id-2231 .wpcf7 form textarea {
	min-height: 110px;
}

body.page-id-1004 .wpcf7 form input.wpcf7-submit,
body.page-id-2231 .wpcf7 form input.wpcf7-submit {
	padding: 9px 18px;
	font-size: 13px;
	letter-spacing: 0.04em;
}

body.page-id-1004 .wpcf7 form .wpcf7-response-output,
body.page-id-2231 .wpcf7 form .wpcf7-response-output {
	margin: 10px 0 0;
	font-size: 13px;
}

/* CF7 success message in orange (instead of default green). */
.wpcf7 form.sent .wpcf7-response-output {
	color: #f87116;
	border-color: #f87116;
}

/* Keep Icon Box contact links visually aligned with existing text styles. */
.elementor-icon-box-description a {
	color: inherit;
	text-decoration: underline;
}

.elementor-icon-box-description a:hover,
.elementor-icon-box-description a:focus {
	color: #f87116;
}

.pressovac-country-other-wrap {
	margin-top: 10px;
}

.pressovac-country-other-wrap[hidden] {
	display: none !important;
}

.pressovac-country-other-wrap .pressovac-country-other-label {
	display: block;
}

.elementor-element.elementor-element-6acff1a .elementor-icon-box-description {
	font-size: 14px;
	line-height: 1.8em;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
}

.elementor-element.elementor-element-6acff1a .elementor-icon-box-content {
	display: flex;
	flex-direction: column;
	gap: 1px !important;
}

.elementor-element.elementor-element-6acff1a .elementor-icon-box-title {
	margin: 0 !important;
	line-height: 1.05 !important;
}

.elementor-element.elementor-element-6acff1a .elementor-icon-box-title + .elementor-icon-box-description {
	margin-top: 1px !important;
	margin-block-start: 1px !important;
}

@media (max-width: 767px) {
	.elementor-widget-icon-box .elementor-icon-box-wrapper {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.elementor-widget-icon-box .elementor-icon-box-content {
		width: 100%;
	}

	.elementor-widget-icon-box .elementor-icon-box-description {
		white-space: pre-line;
		line-height: 1.65;
	}
}

@media (max-width: 921px) {
	body.page-id-1004 .wpcf7 form p,
	body.page-id-2231 .wpcf7 form p {
		margin-bottom: 8px;
	}

	body.page-id-1004 .wpcf7 form label,
	body.page-id-2231 .wpcf7 form label {
		font-size: 13px;
	}

	body.page-id-1004 .wpcf7 form input[type='text'],
	body.page-id-2231 .wpcf7 form input[type='text'],
	body.page-id-1004 .wpcf7 form input[type='email'],
	body.page-id-2231 .wpcf7 form input[type='email'],
	body.page-id-1004 .wpcf7 form input[type='tel'],
	body.page-id-2231 .wpcf7 form input[type='tel'],
	body.page-id-1004 .wpcf7 form input[type='url'],
	body.page-id-2231 .wpcf7 form input[type='url'],
	body.page-id-1004 .wpcf7 form input[type='number'],
	body.page-id-2231 .wpcf7 form input[type='number'],
	body.page-id-1004 .wpcf7 form select,
	body.page-id-2231 .wpcf7 form select,
	body.page-id-1004 .wpcf7 form textarea,
	body.page-id-2231 .wpcf7 form textarea {
		padding: 8px 10px;
		font-size: 13px;
	}
}

/* Replace one Elementor icon-box icon with uploaded image-like graphic. */
.elementor-element.elementor-element-9a7296c .elementor-icon-box-icon .elementor-icon {
	position: relative;
	width: 48px;
	height: 48px;
	min-width: 48px;
	border-radius: 50%;
	background: url('/wp-content/themes/astra-child/assets/images/resize-icon-circle-v4.svg') center / cover no-repeat;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.elementor-element.elementor-element-9a7296c .elementor-icon-box-icon .elementor-icon svg {
	display: none;
}

/* Keep "Request a Quote" with lowercase "a" in header CTA. */
.site-header .ast-header-button-1 .ast-builder-button-wrap .ast-custom-button,
.site-header .ast-header-button-1 .ast-builder-button-wrap .menu-link,
.site-header .ast-header-button-1 .ast-builder-button-wrap .ast-custom-button:hover,
.site-header .ast-header-button-1 .ast-builder-button-wrap .ast-custom-button:focus,
.site-header .ast-header-button-1 .ast-builder-button-wrap .menu-link:hover,
.site-header .ast-header-button-1 .ast-builder-button-wrap .menu-link:focus {
	text-transform: none !important;
}

/* Force two-line catalogue labels for specific orange CTA buttons. */
a.elementor-button-link.pressovac-catalogue-button .elementor-button-text {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.05;
}

a.elementor-button-link.pressovac-catalogue-button {
	padding-left: 24px;
	padding-right: 34px;
}

a.elementor-button-link.pressovac-catalogue-button .pressovac-catalogue-line1 {
	display: block;
}

a.elementor-button-link.pressovac-catalogue-button .pressovac-catalogue-line2 {
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8em;
	margin-top: 8px;
}

/* Fixed left social sidebar on all pages. */
.pressovac-social-sidebar {
	position: fixed;
	left: 0;
	top: 44%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	z-index: 9998;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}

.pressovac-social-sidebar__link {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, #fb923c 0%, #f87116 100%);
	color: #fff;
	text-decoration: none;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	border-bottom: 1px solid rgba(124, 45, 18, 0.35);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.pressovac-social-sidebar__link:first-child {
	border-top: 0;
}

.pressovac-social-sidebar__link:hover,
.pressovac-social-sidebar__link:focus {
	background: linear-gradient(180deg, #f97316 0%, #ea580c 100%);
	color: #fff;
	transform: translateX(2px);
}

.pressovac-social-sidebar__icon {
	line-height: 1;
	font-size: 26px;
}

.pressovac-social-sidebar__icon .fa-youtube {
	font-size: 24px;
}

.pressovac-social-sidebar__icon .pressovac-icon-x {
	display: inline-block;
	font-style: normal;
	font-weight: 700;
	font-family: inherit;
	line-height: 1;
	font-size: 24px;
}

.pressovac-social-sidebar__icon .pressovac-icon-x::before {
	content: "X";
}

@media (max-width: 921px) {
	.pressovac-social-sidebar {
		top: 50%;
	}

	.pressovac-social-sidebar__link {
		width: 42px;
		height: 42px;
	}

	.pressovac-social-sidebar__icon {
		font-size: 22px;
	}
}
/* Contact map anchor offset for sticky header (EN/FI) */
#map,
#kartta,
.elementor-menu-anchor#map,
.elementor-menu-anchor#kartta {
	scroll-margin-top: 120px;
}

@media (max-width: 1180px) {
	#map,
	#kartta,
	.elementor-menu-anchor#map,
	.elementor-menu-anchor#kartta {
		scroll-margin-top: 88px;
	}
}

/* Unified control radius across CTA buttons and form fields. */
.site-header .ast-header-button-1 .ast-builder-button-wrap .ast-custom-button,
.site-header .ast-header-button-1 .ast-builder-button-wrap .menu-link,
.site-header-primary-section-right .ast-header-language-switcher-element .pressovac-language-trigger,
.site-header-primary-section-right .ast-header-language-switcher-element .ast-builder-language-switcher-item,
.elementor-button,
.pressovac-two-line-button,
.pressovac-catalog-gate-submit,
.wpcf7 form input.wpcf7-submit {
	border-radius: var(--pressovac-control-radius) !important;
}

.wpcf7 form input[type='text'],
.wpcf7 form input[type='email'],
.wpcf7 form input[type='tel'],
.wpcf7 form input[type='url'],
.wpcf7 form input[type='number'],
.wpcf7 form input[type='search'],
.wpcf7 form select,
.wpcf7 form textarea,
.pressovac-catalog-gate-field input[type='email'] {
	border-radius: var(--pressovac-control-radius) !important;
}
