/* Auto-generated by APG Safe Snippets (frontend). */

/* 033db80da3c3868b27400949: Home page */
/* ------------------------------------- */
/* - - - - - HERO SECTION - - - - - */
/* ------------------------------------- */
section.hero_section .hero_buttons {
    min-width: 45%;
    width: 100%;
    max-width: 55%;
}

section.hero_section .hero_buttons .wp-block-button {
	width: 100%;
}

@media (min-width: 975px) and (max-width: 1065px) {
	section.hero_section .hero_buttons {
		max-width: 60%;
	}
}

@media (min-width: 441px) and (max-width: 974px) {
	section.hero_section .hero_buttons {
		max-width: 70%;
	}
}


@media (max-width: 440px) {
	section.hero_section .hero_buttons {
		max-width: 100%;
	}
}
/* ------------------------------------- */
/* - - - - - CARD SVG STYLE - - - - - */
/* ------------------------------------- */
/* Outer wrapper becomes the rounded background, same 60px size as the image icons */
.wp-block-safe-svg-svg-icon.safe-svg-cover {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	min-width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--custom-primary-navy);
	transition: background-color 0.2s ease;
}

.safe-svg-inside.safe-svg-inline {
	width: 30px !important;
	height: 30px !important;
	background-color: transparent !important;
	color: #ffffff !important;
	transition: color 0.25s ease-in-out;
}

.safe-svg-inside.safe-svg-inline svg {
	transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.wp-block-group.card:hover .wp-block-safe-svg-svg-icon.safe-svg-cover {
	background-color: var(--wp--preset--color--custom-nord-blue-light);
	transform: scale(1.08);
	transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
	            background-color 0.25s ease-in-out;
}

.wp-block-group.card:hover .wp-block-safe-svg-svg-icon.safe-svg-cover svg {
	transform: scale(1.12);
}

/* ------------------------------------- */
/* - - - - - SOLUTIONS GRID - - - - - */
/* ------------------------------------- */

/* Solutions grid */
.solutions_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    align-items: stretch;
}

/* Cards */
.solutions_grid > .card {
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* Keep button at bottom */
.solutions_grid > .card .wp-block-buttons {
    margin-top: auto;
    width: 100%;
}

.solutions_grid > .card .wp-block-button,
.solutions_grid > .card .wp-block-button__link {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 1024px) {
    .solutions_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }
}

@media (max-width: 767px) {
    .solutions_grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .solutions_grid > .card {
        padding: 24px !important;
    }
}

/* ------------------------------------- */
/* - - - - - BRANDS LOGOS - - - - - */
/* ------------------------------------- */
.homelancer-brands.wp-block-gallery-is-layout-flex {
    align-items: center; /* centers the figures against each other in the row */
}

.homelancer-brands .wp-block-image {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
}

.homelancer-brands .wp-block-image img {
    max-height: 60px;
    width: auto;
    height: auto;
}

.homelancer-brands .wp-block-image.larger img {
    max-height: 80px;
}

.homelancer-brands .wp-block-image.x-larger img {
    max-height: 120px;
}

.homelancer-brands .wp-block-image.small img {
    max-height: 50px;
}
/* ------------------------------------- */
/* - - - - - LOGOS SECTION - - - - - */
/* ------------------------------------- */
@media (max-width: 440px) {
	section.logos_section .apc-tabs__panels .wp-block-apc-tab-item.apc-tabs__panel .wp-block-button {
		width: 100%;
	}
}
/* ------------------------------------- */
/* - - - - - CTA SECTION - - - - - */
/* ------------------------------------- */
section.cta_section .wp-block-buttons .wp-block-button__link {
    display: inline-block;
    min-width: 280px; 
    text-align: center;
    box-sizing: border-box;
}

@media (max-width: 440px) {
	section.cta_section .wp-block-buttons .wp-block-button {
		width: 100%;
	}
}

/* 229fe3669c2510541f45f7ea: Footer */
footer.wp-block-template-part {
	position: relative;
}

.wp-block-buttons.scroll-to-top {
	position: absolute;
	   bottom: 120px;
    right: 40px;
}

/* a4bd9fca1c858025fc77b91d: Header */
@media (max-width: 940px) {
	header .wp-block-site-logo img {
		width: 160px;
		height: auto;
	}
	
	header .wp-block-buttons {
		display: none;
	}
}

@media (max-width: 570px) {
	header .social_media_block {
		display: none;
	}
	
	header .contacts_block {
		justify-content: space-between;
    	width: 100%;
	}
}

@media (max-width: 670px) {
	/* Force-show the hamburger button */
	header .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	/* Hide the inline (non-modal) nav menu until it's opened */
	header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
}

@media (min-width: 671px) {
	/* Force-hide the hamburger button on wider screens */
	header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	/* Force the menu to render inline (not as overlay) on wider screens */
	header .wp-block-navigation__responsive-container {
		display: block !important;
		position: static !important;
		background: transparent !important;
	}

	header .wp-block-navigation__responsive-container-content {
		display: flex !important;
	}
}

/* ------------------------------------- */
/* - - - - - NAVIGATION SUBMENU - - - - - */
/* ------------------------------------- */

/* =========================================================
   NordSiltums — Header navigation submenu (dropdown)
   Scope: .homelancer-navigation
   Replaces the default WP submenu look on desktop and
   tidies up the nested lists inside the mobile overlay.
   ========================================================= */

/* ---------- Design tokens (adjust here) ---------- */
.homelancer-navigation {
	--ns-sub-bg: var(--wp--preset--color--light-color, #FFFFFE);
	--ns-sub-text: var(--wp--preset--color--heading-color, #113C3D);
	--ns-sub-accent: var(--wp--preset--color--primary, #113C3D);
	--ns-sub-hover-bg: color-mix(in srgb, var(--ns-sub-accent) 8%, transparent);
	--ns-sub-border: color-mix(in srgb, var(--ns-sub-accent) 10%, transparent);
	--ns-sub-radius: 12px;
	--ns-sub-item-radius: 8px;
	--ns-sub-min-width: 260px;
	--ns-sub-gap: 14px; /* distance between menu item and dropdown */
	--ns-sub-shadow:
		0 18px 40px -12px rgba(17, 60, 61, .22),
		0 2px 6px rgba(17, 60, 61, .06);
}


/* =========================================================
   DESKTOP DROPDOWN
   (responsive container is NOT in overlay/modal mode)
   ========================================================= */

/* ---------- Panel (closed state) ---------- */
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	/* preset color classes use !important, so we must too */
	background-color: var(--ns-sub-bg) !important;
	color: var(--ns-sub-text) !important;
	border: 1px solid var(--ns-sub-border) !important;

	min-width: var(--ns-sub-min-width) !important;
	padding: 8px !important;
	gap: 2px;

	border-radius: var(--ns-sub-radius);
	box-shadow: var(--ns-sub-shadow);

	top: calc(100% + var(--ns-sub-gap));
	left: 50%;
	transform: translate(-50%, 8px);

	transition:
		opacity .2s ease,
		transform .2s ease,
		visibility 0s linear .2s;
}

/* ---------- Panel (open state) ---------- */
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container,
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container,
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	transform: translate(-50%, 0);
	transition:
		opacity .2s ease,
		transform .2s ease,
		visibility 0s;
}

/* ---------- Invisible hover bridge over the gap ---------- */
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: auto;
	bottom: 100%;
	width: auto;
	height: calc(var(--ns-sub-gap) + 2px);
	background: transparent;
}

/* ---------- Caret pointing at the parent item ---------- */
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container::after {
	content: "";
	position: absolute;
	top: -6px;
	left: 50%;
	width: 10px;
	height: 10px;
	background: var(--ns-sub-bg);
	border-top: 1px solid var(--ns-sub-border);
	border-left: 1px solid var(--ns-sub-border);
	border-top-left-radius: 2px;
	transform: translateX(-50%) rotate(45deg);
	pointer-events: none;
}

/* ---------- Items ---------- */
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
}

.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;

	padding: 10px 14px;
	border-radius: var(--ns-sub-item-radius);

	color: var(--ns-sub-text);
	font-size: var(--wp--preset--font-size--small, 15px);
	font-weight: 500;
	line-height: 1.4;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;

	transition: background-color .15s ease, color .15s ease;
}

/* Chevron that slides in on hover */
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	content: "";
	flex: 0 0 auto;
	margin-left: auto;
	width: 6px;
	height: 6px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	opacity: 0;
	transform: translateX(-4px) rotate(45deg);
	transition: opacity .15s ease, transform .15s ease;
}

/* Hover / focus */
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background-color: var(--ns-sub-hover-bg);
	color: var(--ns-sub-accent);
}

.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::after,
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible::after {
	opacity: 1;
	transform: translateX(0) rotate(45deg);
}

.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	outline: 2px solid var(--ns-sub-accent);
	outline-offset: -2px;
}

/* Current page */
.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"] {
	background-color: var(--ns-sub-hover-bg);
	color: var(--ns-sub-accent);
	font-weight: 600;
}

/* ---------- Parent toggle arrow rotates when open ---------- */
.homelancer-navigation .wp-block-navigation-submenu__toggle svg {
	transition: transform .2s ease;
}

.homelancer-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:not(.open-on-click):hover > .wp-block-navigation-submenu__toggle svg,
.homelancer-navigation .wp-block-navigation-submenu__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}


/* =========================================================
   MOBILE OVERLAY (nested list inside the open modal)
   ========================================================= */
.homelancer-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: 0 !important;
	border-left: 2px solid var(--ns-sub-border) !important;
	box-shadow: none;
	margin-top: 6px;
	padding: 2px 0 2px 14px !important;
	gap: 2px;
}

.homelancer-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 6px 10px !important;
	border-radius: var(--ns-sub-item-radius);
	font-size: var(--wp--preset--font-size--small, 15px);
	font-weight: 500;
	line-height: 1.5;
}

.homelancer-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.homelancer-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"] {
	background-color: var(--ns-sub-hover-bg);
}


/* =========================================================
   Reduced motion
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
	.homelancer-navigation .wp-block-navigation__submenu-container,
	.homelancer-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	.homelancer-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after,
	.homelancer-navigation .wp-block-navigation-submenu__toggle svg {
		transition: none !important;
	}
}

/* 146492dd0c4102abf9f3cba3: Contact Form Simple */
/* =========================================================
   NordSiltums — Contact Form 7 styling
   ========================================================= */

#wpcf7-f326-p2-o1 {
  --ns-navy: #0f2a44;       /* deep heading / label color */
  --ns-blue: #1c5d99;       /* primary accent */
  --ns-blue-dark: #144674;  /* button hover / gradient end */
  --ns-blue-light: #eaf2fa; /* soft backgrounds */
  --ns-border: #d7e3ee;
  --ns-text: #33475a;
  --ns-radius: 14px;

  max-width: 640px;
  margin: 0 auto;
  /* background: #ffffff;
  border: 1px solid var(--ns-border);
  border-radius: var(--ns-radius); 
  box-shadow: 0 10px 30px rgba(15, 42, 68, 0.08); */
  font-family: inherit;
}

#wpcf7-f326-p2-o1 form.wpcf7-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 1rem;
}

/* Name + Email side by side, Subject + Message full width */
#wpcf7-f326-p2-o1 form.wpcf7-form > p:nth-of-type(1),
#wpcf7-f326-p2-o1 form.wpcf7-form > p:nth-of-type(2) {
  grid-column: span 1;
  margin: 0;
}

#wpcf7-f326-p2-o1 form.wpcf7-form > p:nth-of-type(3),
#wpcf7-f326-p2-o1 form.wpcf7-form > p:nth-of-type(4),
#wpcf7-f326-p2-o1 form.wpcf7-form > p:nth-of-type(5) {
  grid-column: 1 / -1;
  margin: 0;
}

@media (max-width: 560px) {
  #wpcf7-f326-p2-o1 form.wpcf7-form {
    grid-template-columns: 1fr;
  }
}

#wpcf7-f326-p2-o1 label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--ns-navy);
  margin-bottom: 0.4rem;
}

#wpcf7-f326-p2-o1 .wpcf7-form-control-wrap {
  display: block;
}

#wpcf7-f326-p2-o1 input.wpcf7-form-control,
#wpcf7-f326-p2-o1 textarea.wpcf7-form-control {
  width: 100%;
  box-sizing: border-box;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  color: var(--ns-text);
  background: #ffffff;
  border: 1.5px solid transparent;
  border-radius: 10px;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

#wpcf7-f326-p2-o1 textarea.wpcf7-form-control {
  resize: vertical;
  min-height: 140px;
}

#wpcf7-f326-p2-o1 input.wpcf7-form-control:hover,
#wpcf7-f326-p2-o1 textarea.wpcf7-form-control:hover {
  border-color: var(--ns-border);
}

#wpcf7-f326-p2-o1 input.wpcf7-form-control:focus,
#wpcf7-f326-p2-o1 textarea.wpcf7-form-control:focus {
  outline: none;
  background: #ffffff;
  border-color: var(--ns-blue);
  box-shadow: 0 0 0 4px rgba(28, 93, 153, 0.12);
}

#wpcf7-f326-p2-o1 input.wpcf7-not-valid,
#wpcf7-f326-p2-o1 textarea.wpcf7-not-valid {
  border-color: #d64545;
  background: #fdf1f1;
}

#wpcf7-f326-p2-o1 .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: #d64545;
}

#wpcf7-f326-p2-o1 input.wpcf7-submit {
  justify-self: start;
  margin-top: 0.25rem;
  box-sizing: border-box;
  padding: 18px 28px;
  font-family: var(--wp--preset--font-family--barlow-condensed, inherit);
  font-size: var(--wp--preset--font-size--normal, 0.95rem);
  font-weight: 600;
  font-style: normal;
  letter-spacing: 1.82px;
  text-transform: uppercase;
  line-height: var(--wp--preset--line-height--initial, normal);
  color: var(--wp--preset--color--light-color, #ffffff);
  background-color: var(--wp--preset--color--secondary, var(--ns-blue));
  border: none;
  border-radius: 10px;
  box-shadow: none;
  cursor: pointer;
  transition: all ease 0.23s;
}

#wpcf7-f326-p2-o1 input.wpcf7-submit:hover {
  background-color: var(--wp--preset--color--tertiary, var(--ns-blue-dark));
  transform: translateY(-2px);
}

#wpcf7-f326-p2-o1 input.wpcf7-submit:active {
  transform: translateY(0);
}

#wpcf7-f326-p2-o1 input.wpcf7-submit.wpcf7-submit-processing,
#wpcf7-f326-p2-o1 input.wpcf7-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

#wpcf7-f326-p2-o1 .wpcf7-spinner {
  margin-left: 0.75rem;
  vertical-align: middle;
}

/* Response / status message */
#wpcf7-f326-p2-o1 .wpcf7-response-output {
  grid-column: 1 / -1;
  margin: 1rem 0 0;
  padding: 0.85rem 1.1rem;
  border-radius: 10px;
  font-size: 0.9rem;
  border: 1.5px solid var(--ns-border);
  background: var(--ns-blue-light);
  color: var(--ns-navy);
}

#wpcf7-f326-p2-o1 form.sent .wpcf7-response-output {
  border-color: #2f9e5b;
  background: #ecf9f1;
  color: #1f6f3d;
}

#wpcf7-f326-p2-o1 form.failed .wpcf7-response-output,
#wpcf7-f326-p2-o1 form.aborted .wpcf7-response-output,
#wpcf7-f326-p2-o1 form.spam .wpcf7-response-output {
  border-color: #d64545;
  background: #fdf1f1;
  color: #a52a2a;
}

/* d092cf95926ac3cf322bb3bb: :ROOT */
:root {
	--wp--preset--font-size--medium: clamp(18px, 1.125rem + ((1vw - 3.2px) * 0.122), 20px) !important;
	    --wp--preset--font-size--x-large: clamp(28px, 1.75rem + ((1vw - 3.2px) * 0.305), 33px) !important;
	--wp--preset--font-size--large: clamp(16px, 1rem + ((1vw - 3.2px) * 0.488), 24px) !important;
}

h3.h3 {
    font-size: clamp(32px, 1.75rem + ((1vw - 3.2px) * 0.305), 33px) !important;
}

h4.wp-block-heading.has-large-font-size {
    font-size: clamp(22px, 1rem + ((1vw - 3.2px) * 0.488), 24px) !important;
}

/* 7733517fdb338c3da02bd4a5: Contact Form Calculation */
/* =========================================================
   NordSiltums — Calculator/Quote Contact Form 7 styling
   Form ID 547 (post-ID agnostic — matches on any page)
   ========================================================= */

[data-wpcf7-id="547"] {
  --ns-navy: #0f2a44;       /* deep heading / label color */
  --ns-blue: #1c5d99;       /* primary accent */
  --ns-blue-dark: #144674;  /* button hover / gradient end */
  --ns-blue-light: #eaf2fa; /* soft backgrounds */
  --ns-border: #d7e3ee;
  --ns-text: #33475a;
  --ns-radius: 14px;

  /* input background — overridden by .on_light_bkg / .on_dark_bkg below */
  --ns-input-bg: #ffffff;

  max-width: 640px;
  margin: 0 auto;
  font-family: inherit;
}

[data-wpcf7-id="547"] form.wpcf7-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 1rem;
}

/* Name + Email side by side */
[data-wpcf7-id="547"] form.wpcf7-form > p:nth-of-type(1),
[data-wpcf7-id="547"] form.wpcf7-form > p:nth-of-type(2) {
  grid-column: span 1;
  margin: 0;
}

/* Phone, all textareas, the acceptance checkbox and submit — full width */
[data-wpcf7-id="547"] form.wpcf7-form > p:nth-of-type(3),
[data-wpcf7-id="547"] form.wpcf7-form > p:nth-of-type(4),
[data-wpcf7-id="547"] form.wpcf7-form > p:nth-of-type(5),
[data-wpcf7-id="547"] form.wpcf7-form > p:nth-of-type(6),
[data-wpcf7-id="547"] form.wpcf7-form > p:nth-of-type(7),
[data-wpcf7-id="547"] form.wpcf7-form > p:nth-of-type(8),
[data-wpcf7-id="547"] form.wpcf7-form > p:nth-of-type(9) {
  grid-column: 1 / -1;
  margin: 0;
}

@media (max-width: 560px) {
  [data-wpcf7-id="547"] form.wpcf7-form {
    grid-template-columns: 1fr;
  }
}

[data-wpcf7-id="547"] form.wpcf7-form > p > label:not(#_) {
  display: block;
  font-family: var(--wp--preset--font-family--barlow-condensed);
  font-size: var(--wp--preset--font-size--medium) !important;
  font-weight: var(--wp--preset--font-weight--semi-bold) !important;
  line-height: var(--wp--preset--line-height--medium) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-style: normal;
  background-color: transparent;
  color: #969595 !important;
  margin: 0 0 0.4rem;
}

[data-wpcf7-id="547"] .wpcf7-form-control-wrap {
  display: block;
}

[data-wpcf7-id="547"] input.wpcf7-form-control,
[data-wpcf7-id="547"] textarea.wpcf7-form-control {
  width: 100%;
  box-sizing: border-box;
  padding: 0.75rem 1rem;
  font-size: 0.95rem;
  color: var(--ns-text);
  background: var(--ns-input-bg);
  border: 1.5px solid transparent;
  border-radius: 10px;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

[data-wpcf7-id="547"] input.wpcf7-form-control {
  height: 48px;
}

/* the calculator form's textareas are used as short single-line-ish
   fields (area, solution, location) as well as the long message field.
   The markup sets rows="10" on all of them, which — unless height is
   set explicitly — makes the browser size them off that attribute
   instead of our own sizing. Set an explicit height to override it. */
[data-wpcf7-id="547"] textarea.wpcf7-form-control {
  resize: vertical;
  height: 70px;
}

/* area, solution and location are single-line-style answers —
   match them to the same height as the text inputs above */
[data-wpcf7-id="547"] textarea[name="textarea-549"],
[data-wpcf7-id="547"] textarea[name="textarea-974"],
[data-wpcf7-id="547"] textarea[name="textarea-596"] {
  height: 48px;
  resize: none;
}

/* the actual free-text "additional info" field should stay taller */
[data-wpcf7-id="547"] textarea[name="your-message"] {
  height: 140px;
}

[data-wpcf7-id="547"] input.wpcf7-form-control:hover,
[data-wpcf7-id="547"] textarea.wpcf7-form-control:hover {
  border-color: var(--ns-border);
}

[data-wpcf7-id="547"] input.wpcf7-form-control:focus,
[data-wpcf7-id="547"] textarea.wpcf7-form-control:focus {
  outline: none;
  background: var(--ns-input-bg);
  border-color: var(--ns-blue);
  box-shadow: 0 0 0 4px rgba(28, 93, 153, 0.12);
}

[data-wpcf7-id="547"] input.wpcf7-not-valid,
[data-wpcf7-id="547"] textarea.wpcf7-not-valid {
  border-color: #d64545;
  background: #fdf1f1;
}

[data-wpcf7-id="547"] .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: #d64545;
}

[data-wpcf7-id="547"] input.wpcf7-submit:not(#_) {
  justify-self: stretch;
  margin-top: 0.25rem;
  box-sizing: border-box;
  padding: 18px 28px !important;
  font-family: var(--wp--preset--font-family--barlow-condensed, inherit);
  font-size: var(--wp--preset--font-size--normal, 0.95rem) !important;
  font-weight: 600 !important;
  font-style: normal;
  letter-spacing: 1.82px;
  text-transform: uppercase !important;
  line-height: var(--wp--preset--line-height--initial, normal) !important;
  color: var(--wp--preset--color--light-color, #ffffff) !important;
  background-color: var(--wp--preset--color--secondary, var(--ns-blue)) !important;
  border: none;
  border-radius: 10px !important;
  box-shadow: none !important;
  cursor: pointer;
  width: 100% !important;
  transition: all ease 0.23s;
}

[data-wpcf7-id="547"] input.wpcf7-submit:hover:not(#_) {
  background-color: var(--wp--preset--color--tertiary, var(--ns-blue-dark)) !important;
  transform: translateY(-2px);
}

[data-wpcf7-id="547"] input.wpcf7-submit:active {
  transform: translateY(0);
}

[data-wpcf7-id="547"] input.wpcf7-submit.wpcf7-submit-processing,
[data-wpcf7-id="547"] input.wpcf7-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

[data-wpcf7-id="547"] .wpcf7-spinner {
  margin-left: 0.75rem;
  vertical-align: middle;
}

/* Response / status message */
[data-wpcf7-id="547"] .wpcf7-response-output {
  grid-column: 1 / -1;
  margin: 1rem 0 0;
  padding: 0.85rem 1.1rem;
  border-radius: 10px;
  font-size: 0.9rem;
  border: 1.5px solid var(--ns-border);
  background: var(--ns-blue-light);
  color: var(--ns-navy);
}

[data-wpcf7-id="547"] form.sent .wpcf7-response-output {
  border-color: #2f9e5b;
  background: #ecf9f1;
  color: #1f6f3d;
}

[data-wpcf7-id="547"] form.failed .wpcf7-response-output,
[data-wpcf7-id="547"] form.aborted .wpcf7-response-output,
[data-wpcf7-id="547"] form.spam .wpcf7-response-output {
  border-color: #d64545;
  background: #fdf1f1;
  color: #a52a2a;
}

[data-wpcf7-id="547"] .wpcf7-list-item {
  margin: 0;
}

/* match the acceptance checkbox's text to the same typography as the
   field labels above, without display:block — it needs to stay inline
   next to the checkbox itself */
[data-wpcf7-id="547"] .wpcf7-list-item-label:not(#_) {
  font-family: var(--wp--preset--font-family--barlow-condensed);
  font-size: var(--wp--preset--font-size--medium) !important;
  font-weight: var(--wp--preset--font-weight--semi-bold) !important;
  line-height: var(--wp--preset--line-height--medium) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #969595 !important;
}

/* =========================================================
   The block wrapper's padding is set via an inline style
   attribute (padding-top/right/bottom/left reading the
   --cfcf7-block-padding-* variables). Inline styles beat any
   external stylesheet rule unless that rule is !important, so
   this needs !important regardless of selector specificity.
   ========================================================= */
.cfcf7-block.cfcf7-instance-2.personalized_calculation_form.on_dark_bkg.wp-block-mofistudio-customizer-block-cf7 {
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
}

/* =========================================================
   Background-aware input styling
   Add "on_light_bkg" or "on_dark_bkg" to any ancestor of the
   form (e.g. the .cfcf7-block-container wrapper, or a parent
   section/group block) to switch the input field treatment.
   ========================================================= */

/* On a light background: tint the inputs so they read as
   distinct fields instead of disappearing into the page. */
.on_light_bkg [data-wpcf7-id="547"] {
  --ns-input-bg: #edf5fd;
}

/* On a dark background: keep inputs white/opaque so text
   stays legible, and lighten the labels so they don't get
   lost against the dark surface. */
.on_dark_bkg [data-wpcf7-id="547"] {
  --ns-input-bg: #ffffff;
}

.on_dark_bkg [data-wpcf7-id="547"] .wpcf7-response-output {
  background: rgba(234, 242, 250, 0.12);
  border-color: rgba(234, 242, 250, 0.3);
  color: #eaf2fa;
}

/* 9f60608695d70d2eb6d5108f: Brand Page */
/* ------------------------------------- */
/* - - - - - 01 - HERO SECTION - - - - - */
/* ------------------------------------- */
@media (max-width: 781px) {
 section.brand_hero_section .wp-block-columns {
    flex-direction: column-reverse;
  }
	section.brand_hero_section .brand_logo_block img {
		width: 150px !important;
	}
	
	section.brand_hero_section .brand_logo_block.smaller img {
		width: 100px !important;
	}
}

/* Brand hero – equal-height slides */
.brand_hero_section .cb-wrapper.swiper-wrapper {
  align-items: stretch;
}

.brand_hero_section .cb-slide.swiper-slide {
  height: auto;              /* override Swiper's height:100% so stretch works */
  display: flex;
  flex-direction: column;
}

.brand_hero_section .cb-slide > .wp-block-group {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.brand_hero_section .cb-slide .wp-block-cover {
  flex: 1 1 auto;
  width: 100%;
  max-width: none;           /* constrained layout would otherwise shrink it */
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* ------------------------------------- */
/* - - - - - 02 - ALL BRANDS SECTION - - - - - */
/* ------------------------------------- */

/* Logo area: same height in every card */
section.meet_all_brands_section .card .card_header .wp-block-image {
	height: 64px;     
	margin: 0;
	width: 100%;
}
section.meet_all_brands_section .card .card_header .wp-block-image.adjusted {
	height: 34px;     
}


section.meet_all_brands_section .card .card_header .wp-block-image img {
	height: 100%;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

/* Optional: reserve the same space for headings too, so the
   card_header blocks line up even when titles wrap differently */
section.meet_all_brands_section .card .card_header h3 {
	min-height: 2.4em;     /* 2 lines × line-height 1.2 */
	margin-block: 0;
}
@media (min-width: 782px) and (max-width: 1100px) {
	section.meet_all_brands_section .brands_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


@media (min-width: 1100px) {
	section.meet_all_brands_section .card .card_header {
		min-height: 245px;
	}
	section.meet_all_brands_section .card .card_headline {
		min-height: 195px;
	}
}

@media (max-width: 781px) {
	section.meet_all_brands_section .brands_grid {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------- */
/* - - - - - 02 - CTA SECTION - - - - - */
/* ------------------------------------- */

/* CTA section – equal-width buttons */
.cta_section .wp-block-buttons.is-layout-flex {
	display: grid;
	grid-template-columns: 1fr;
	width: fit-content;   /* column = width of the widest button */
	max-width: 100%;      /* never overflow the column */
	gap: 12px;
	margin-left: 0 !important;
	margin-right: auto !important;
	justify-content: start;
	justify-items: stretch;
}

.cta_section .wp-block-buttons > .wp-block-button {
	width: 100%;
	margin: 0;
}

.cta_section .wp-block-buttons .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	white-space: nowrap;  /* keep labels on one line */
}

/* Mobile – buttons fill the full width */
@media (max-width: 500px) {
	.cta_section .wp-block-buttons.is-layout-flex {
		width: 100%;
	}
}
