/**
* Theme Name: Transida Child
* Description: This is a child theme of Transida, generated by Merlin WP.
* Author: <a href="http://themeforest.net/user/theme-kalia">Theme Kalia</a>
* Template: transida
* Version: 1.2
*/

/*kill the transitions on any descendant elements of .notransition*/
.notransition * { 
  -webkit-transition: none !important; 
  -moz-transition: none !important; 
  -o-transition: none !important; 
  -ms-transition: none !important; 
  transition: none !important; 
  transform: none !important;
	animation-name: none !important;
} 

.help-block {
    display: none !important;
}
.loadercust {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: url('loading_img.gif') 50% 50% no-repeat rgb(249,249,249);
    opacity: .8;
}
.caldera-grid .vk_cls {
    background: #fff;
    padding: 5px;
    margin: 10px 0 5px 0;
    border-radius: 5px;
    text-align: center;
    border: 1px solid #d6c34d;
    box-shadow: 1px 1px 3px #d6c34d;
}
.caldera-grid .vk_cls label {
    font-weight: normal !important;
    color: #000;
}
.caldera-grid .row {
    margin-left: 0px;
}
.caldera-grid {
    background: #f5f5f5;
    border-radius: 5px;
    padding: 5px;
}

.main-header .header-upper {
    background-color: #fff !important;
}

@media only screen and (max-width: 767px) {
    .elementor-547 .elementor-element.elementor-element-7bfd546 > .elementor-widget-container {
        margin: 0 20px;
    }
    .elementor-547 .elementor-element.elementor-element-7bfd546 > .elementor-widget-container ul li {
        justify-content: center;
    }
}

/* .calculator-section {
	margin: 3rem 0;
}
.calculator-section .product-container {
    padding: 5px;
    display: inline-block;
    width: 32%;
    height: 75px;
    margin: 8px;
    border: 3px solid #293e9c;
    position: relative;
}
.calculator-section .product-container .amount-container {
	margin: 5px;
    position: absolute;
    background-color: white;
    border: 2px solid #293e9c;
    height: 50px;
    width: 50px;
    text-align: center;
}
.calculator-section .product-container .amount-container .amount-number {
    color: black;
    font-size: 20pt;
	position: relative;
	top: 10px;
}
.calculator-section .product-container .product-image img {
	height: 60px;
    width: auto;
    position: absolute;
    left: 60px;
    padding: 5px 0 5px 10px;
}
.calculator-section .product-container .product-title-wrapper .product-title {
	position: absolute;
    color: black;
    font-size: 14pt;
    font-weight: 400;
    font-family: Arial;
    left: 160px;
    top: 8px;
    line-height: 2rem;
}
.calculator-section .product_container button {
	border-radius: 0px;
    padding: 0px;
    margin: 0px;
}
.calculator-section .product-container button.product-plus-btn {
	position: absolute;
    right: 0%;
	bottom: 0%;
    color: white;
    background-color: #6bb264;
    max-width: 50px;
    height: 30px;
	width: 100%;
}
.calculator-section .product-container button.product-plus-btn:hover {
	background-color: #1e994f;
}
.calculator-section .product-container button.product-minus-btn {
	position: absolute;
    right: 50px;
	bottom: 0%;
    color: white;
    background-color: #ff5148;
    max-width: 50px;
    height: 30px;
		width: 100%;
}
.calculator-section .product-container button.product-minus-btn:hover {
    background-color: #ff392e;
}

.calculator-section section {
	width: 100%;
}
.calculator-section section .calculate-volume {
		display: grid;
    grid-template-columns: 20% 15%;
    grid-column-gap: 1em;
		margin-left: 10px;
}
.calculator-section section .calculate-volume button.calculate {
	border-radius: 0px;
    margin-top: 15px;
    padding: 10px 25px;
    font-size: 13px;
    letter-spacing: 0.05em;
    font-weight: 600;
    text-transform: uppercase;
    background-color: #6bb264;
		color: white;
}
.calculator-section section .calculate-volume button.calculate:hover {
	background-color: #1e994f;
}
.calculator-section section .calculate-volume span.volume-sum-container {
	background-color: white;
    border: solid black 2px;
    height: 47px;
    text-align: center;
    margin-top: 15px;
}
.calculator-section section .calculate-volume span.volume-sum-container span.volume-sum {
	color: black;
    font-size: 20pt;
    position: relative;
    top: 10px;
}

@media only screen and (min-width: 1200px) {
    .calculator-section .product-container .product-title-wrapper .product-title {
        width: 40%;
    }
} */

.hide-caldera { display: none; }

.service-block-one .image img {
	width: 53%;
}

.my-accordion {
	display: flex;
	flex-direction: column;
}

.my-accordion-item {
	border-bottom: 1px solid #EFF1F5;
	padding: 24px 22px;
	background-color: #F9F9FB;
	border-radius: 16px;
}

.my-accordion-title {
	font-size: 18px;
	line-height: 1;
	color: #26035D;
	font-weight: 400;
	position: relative;
	padding-right: 30px;
	cursor: pointer;
	font-family: "FunnelSans", Sans-serif;
	letter-spacing: -0.03em;
}

.my-accordion-title img {
	position: absolute;
	top: 8px;
	right: 7px;
	transition: all 0.3s ease-in-out;
}

.my-accordion-content {
	color: #3C4043;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	padding-top: 20px;
}

.my-accordion .my-accordion-item:not(:first-child) .my-accordion-content {
	display: none;
}

.my-accordion .my-accordion-item .active img {
	transform: rotate(180deg);
}

.my-accordion .my-accordion-item:hover .my-accordion-title img {
	transform: rotate(230deg);
}

.hover-text-block {
	position: relative;
}

.my-accordion .my-accordion-item:not(:last-child) {
	margin-bottom: 15px;
}

.hover-text {
	max-width: 90%;
	margin: 0 auto;
	position: absolute;
	top: 50px;
	left: 50%;
	background-color: white;
	border-radius: 10px;
	padding: 10px;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
	z-index: 15;
	transform: translate(-5px, 0%);
	transition: all 0.3s ease-in-out;
	width: 100%;
	opacity: 0;
	font-size: 16px;
	visibility: hidden;
	line-height: 1.4;
	pointer-events: none;
	color: #3C4043;
}
/* Fix: Restore Chaty plugin transforms overridden by .notransition rule */
.notransition #chaty-widget-0 .chaty-channel-list .chaty-channel,
.notransition .chaty-widget .chaty-cta-main .chaty-cta-button,
.notransition .chaty-widget .chaty-cta-close .chaty-cta-button {
  transform: unset !important;
}

/* ============================================================
   Professional Footer – 123 Flytting & Transport
   ============================================================ */

/* Hide ft-pro (WPCode footer) — Elementor footer is the live footer */
footer.ft-pro,
.main-footer,
.footer-bottom {
  display: none !important;
}
/* Show EHF Elementor footer — override any WPCode inline rule */
body .footer-width-fixer { display: block !important; }

/* ---- Root layout ------------------------------------------ */
.ft-pro {
  background: #111827;
  color: rgba(255,255,255,0.75);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.7;
}

.ft-pro-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---- Main section ----------------------------------------- */
.ft-pro-main {
  padding: 64px 0 48px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.ft-pro-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: 40px 32px;
}

/* ---- Brand column ----------------------------------------- */
.ft-pro-logo {
  display: block;
  max-width: 190px;
  height: auto;
  margin-bottom: 18px;
  filter: brightness(0) invert(1);
}

.ft-pro-desc {
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  margin: 0 0 20px;
  max-width: 280px;
}

/* Social icons */
.ft-pro-social {
  display: flex;
  gap: 10px;
  margin-bottom: 24px;
}

.ft-pro-soc-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  transition: background 0.25s;
}

.ft-pro-soc-link:hover {
  background: #e63030;
  color: #fff;
}

/* Trust badges */
.ft-pro-badges {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.ft-pro-badges img {
  max-height: 56px;
  width: auto;
  filter: none !important;
  opacity: 0.85;
  transition: opacity 0.2s;
}

.ft-pro-badges img:hover {
  opacity: 1;
}

/* ---- Column headings -------------------------------------- */
.ft-pro-heading {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #fff;
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e63030;
  display: inline-block;
}

/* ---- Nav lists -------------------------------------------- */
.ft-pro-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ft-pro-list li {
  margin-bottom: 8px;
}

.ft-pro-list a {
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s, padding-left 0.2s;
  display: inline-block;
}

.ft-pro-list a:hover {
  color: #fff;
  padding-left: 4px;
}

.ft-pro-list li:last-child a {
  color: #e63030;
  font-weight: 600;
}

.ft-pro-list li:last-child a:hover {
  color: #ff5252;
  padding-left: 0;
}

/* ---- Contact list ----------------------------------------- */
.ft-pro-contact {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ft-pro-contact li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  font-size: 14px;
}

.ft-pro-ico {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  background: rgba(230,48,48,0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e63030;
  font-size: 13px;
  margin-top: 1px;
}

.ft-pro-contact address {
  font-style: normal;
  color: rgba(255,255,255,0.65);
}

.ft-pro-contact a {
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  transition: color 0.2s;
}

.ft-pro-contact a:hover {
  color: #fff;
}

/* ---- Bottom bar ------------------------------------------- */
.ft-pro-bottom {
  background: #0a0f1a;
  padding: 18px 0;
}

.ft-pro-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.ft-pro-copy {
  margin: 0;
  font-size: 13px;
  color: rgba(255,255,255,0.45);
}

.ft-pro-copy a {
  color: rgba(255,255,255,0.65);
  text-decoration: none;
}

.ft-pro-copy a:hover {
  color: #fff;
}

.ft-pro-bottom-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.ft-pro-bottom-nav a {
  font-size: 13px;
  color: rgba(255,255,255,0.45);
  text-decoration: none;
  transition: color 0.2s;
}

.ft-pro-bottom-nav a:hover {
  color: #fff;
}

/* ---- Responsive ------------------------------------------- */
@media (max-width: 1024px) {
  .ft-pro-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .ft-pro-main {
    padding: 40px 0 32px;
  }

  .ft-pro-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ft-pro-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .ft-pro-bottom-nav {
    gap: 14px;
  }
}

/* ============================================================
   Kontakt-oss page (page-kontakt-oss.php)
   ============================================================ */
.kj-page * { box-sizing: border-box; }
.kj-page { font-family: 'Yantramanav', sans-serif; color: #333; }

.kj-hero {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 60%, #0f3460 100%);
    padding: 90px 0 70px;
    position: relative;
    overflow: hidden;
}
.kj-hero::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 4px;
    background: #ED1C24;
}
.kj-hero .auto-container { position: relative; z-index: 2; }
.kj-hero h1 {
    font-family: 'Roboto', sans-serif;
    font-size: 52px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 14px;
    letter-spacing: -0.5px;
}
.kj-hero p.lead {
    font-size: 18px;
    color: rgba(255,255,255,0.75);
    margin: 0;
}
.kj-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(255,255,255,0.5);
    margin-bottom: 24px;
}
.kj-breadcrumb a { color: rgba(255,255,255,0.5); text-decoration: none; }
.kj-breadcrumb a:hover { color: #ED1C24; }

.kj-cards-section {
    background: #f4f6f9;
    padding: 0;
    margin-top: -1px;
}
.kj-cards-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
}
.kj-info-card {
    padding: 36px 28px;
    text-align: center;
    border-right: 1px solid #f0f0f0;
    text-decoration: none;
    color: inherit;
    transition: background 0.2s;
    display: block;
}
.kj-info-card:last-child { border-right: none; }
.kj-info-card:hover { background: #fff9f9; text-decoration: none; color: inherit; }
.kj-info-card .icon {
    width: 56px; height: 56px;
    background: #fff5f5;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px;
    transition: background 0.2s;
}
.kj-info-card:hover .icon { background: #ffeaea; }
.kj-info-card .icon img {
    width: 32px; height: 32px;
    object-fit: contain;
    filter: none;
    display: block;
}
.kj-info-card h3 {
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #999;
    margin: 0 0 8px;
}
.kj-info-card p {
    font-size: 16px;
    font-weight: 600;
    color: #111;
    margin: 0;
    line-height: 1.4;
}
.kj-info-card p a { color: #ED1C24; text-decoration: none; }

.kj-main-section {
    background: #f4f6f9;
    padding: 80px 0 100px;
}
.kj-main-grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 48px;
    align-items: start;
}

.kj-form-wrap {
    background: #fff;
    border-radius: 12px;
    padding: 44px 40px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
}
.kj-form-wrap h2 {
    font-family: 'Roboto', sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: #111;
    margin: 0 0 6px;
}
.kj-form-wrap .sub {
    font-size: 15px;
    color: #777;
    margin: 0 0 32px;
}
.kj-form-group { margin-bottom: 20px; }
.kj-form-group label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #444;
    margin-bottom: 7px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}
.kj-form-group input,
.kj-form-group textarea {
    width: 100%;
    padding: 13px 16px;
    border: 2px solid #e8e8e8;
    border-radius: 8px;
    font-family: 'Yantramanav', sans-serif;
    font-size: 15px;
    color: #111;
    background: #fafafa;
    transition: border-color 0.2s, background 0.2s;
    outline: none;
}
.kj-form-group input:focus,
.kj-form-group textarea:focus {
    border-color: #ED1C24;
    background: #fff;
}
.kj-form-group textarea { height: 130px; resize: vertical; }
.kj-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.kj-submit-btn {
    width: 100%;
    background: #ED1C24;
    color: #fff;
    border: none;
    padding: 16px 32px;
    border-radius: 8px;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    margin-top: 8px;
}
.kj-submit-btn:hover { background: #c8151c; transform: translateY(-1px); }
.kj-submit-btn:active { transform: translateY(0); }
.kj-form-note {
    font-size: 12px;
    color: #aaa;
    text-align: center;
    margin-top: 12px;
}
#kj-success {
    display: none;
    background: #efffef;
    border: 1px solid #5cb85c;
    color: #2d6a2d;
    padding: 16px 20px;
    border-radius: 8px;
    font-size: 15px;
    margin-top: 16px;
}
#kj-error {
    display: none;
    background: #fff5f5;
    border: 1px solid #ED1C24;
    color: #c00;
    padding: 16px 20px;
    border-radius: 8px;
    font-size: 15px;
    margin-top: 16px;
}

.kj-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.kj-sidebar-card {
    background: #fff;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}
.kj-sidebar-card h3 {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: #111;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
}
.kj-detail-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    font-size: 14px;
    color: #444;
    line-height: 1.45;
}
.kj-detail-row:last-child { margin-bottom: 0; }
.kj-detail-row .dot {
    width: 8px; height: 8px;
    background: #ED1C24;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 5px;
}
.kj-detail-row a { color: #ED1C24; text-decoration: none; font-weight: 600; }
.kj-hours-table { width: 100%; font-size: 13px; }
.kj-hours-table tr td { padding: 5px 0; }
.kj-hours-table tr td:first-child { color: #666; }
.kj-hours-table tr td:last-child { font-weight: 700; color: #111; text-align: right; }
.kj-hours-table tr.today td { color: #ED1C24; font-weight: 700; }

.kj-map-section { background: #fff; }
.kj-map-section iframe {
    width: 100%;
    height: 380px;
    border: none;
    display: block;
    filter: grayscale(20%);
}

@media (max-width: 1024px) {
    .kj-main-grid { grid-template-columns: 1fr; }
    .kj-sidebar { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .kj-hero h1 { font-size: 36px; }
    .kj-cards-row { grid-template-columns: 1fr 1fr; }
    .kj-form-wrap { padding: 28px 20px; }
    .kj-form-row { grid-template-columns: 1fr; }
    .kj-sidebar { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .kj-cards-row { grid-template-columns: 1fr; }
    .kj-info-card { border-right: none; border-bottom: 1px solid #f0f0f0; }
}

/* ============================================================
   HEADER REDESIGN — clean desktop + mobile-friendly v1
   ============================================================ */

/* ---- 1. Top contact bar ---- */
.main-header .header-top {
    background: #ED1C24;
    padding: 7px 0;
    line-height: 1;
}
.main-header .header-top .inner-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
}
.main-header .header-top .left-column { display: none; }
.main-header .header-top .phone-number,
.main-header .header-top .mail-address {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
}
.main-header .header-top .phone-number a,
.main-header .header-top .mail-address a {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Roboto', sans-serif;
    text-decoration: none;
    letter-spacing: 0.3px;
}
.main-header .header-top .phone-number a:hover,
.main-header .header-top .mail-address a:hover { opacity: 0.85; color: #fff; }
.main-header .header-top .flaticon-calling:before,
.main-header .header-top .flaticon-mail:before { color: rgba(255,255,255,0.9); font-size: 13px; }

/* ---- 2. Main nav bar ---- */
.main-header .header-upper {
    padding: 0;
    border-bottom: 1px solid #ebebeb;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05);
}
.main-header .header-upper .auto-container { padding-left: 24px; padding-right: 24px; }
.main-header .header-upper .inner-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 !important;
    padding-left: 0 !important;
    min-height: 68px;
    gap: 12px;
}
.main-header .header-upper .logo-box {
    flex-shrink: 0;
    margin: 0;
    padding: 10px 0;
}
.main-header .header-upper .logo img {
    width: 130px !important;
    max-width: unset !important;
    height: auto;
}
.main-header .header-upper .right-column {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0;
    padding: 0;
}
.main-header .header-upper .nav-outer {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: flex-end;
}

/* ---- 3. Navigation items ---- */
.main-header .main-menu .navigation > li > a {
    font-family: 'Roboto', 'Yantramanav', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-transform: capitalize !important;
    padding: 24px 11px !important;
    letter-spacing: 0.1px;
    line-height: 1;
    border-bottom: 2px solid transparent;
    transition: color 0.18s, border-color 0.18s;
}
.main-header .main-menu .navigation > li > a:hover {
    color: #ED1C24 !important;
    border-bottom-color: #ED1C24;
}
.main-header .main-menu .navigation > li.current > a,
.main-header .main-menu .navigation > li.current-menu-item > a,
.main-header .main-menu .navigation > li.current-menu-ancestor > a {
    color: #ED1C24 !important;
    border-bottom-color: #ED1C24;
}
/* Disable old hover underline animation - replaced by border-bottom */
.main-header .main-menu .navigation > li > a.hvr-underline-from-left1:before,
.main-header .main-menu .navigation > li > a.hvr-underline-from-left1:after {
    display: none !important;
}

/* ---- 4. Dropdowns ---- */
.main-header .main-menu .navigation > li > ul.submenu {
    border-top: 3px solid #ED1C24 !important;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.13);
    padding: 6px 0;
    min-width: 200px;
    background: #fff;
}
.main-header .main-menu .navigation > li > ul.submenu li a {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    padding: 10px 18px !important;
    text-transform: capitalize !important;
    transition: background 0.15s, color 0.15s, padding 0.15s;
}
.main-header .main-menu .navigation > li > ul.submenu li a:hover {
    color: #ED1C24 !important;
    background: #fff8f8;
    padding-left: 23px !important;
}

/* ---- 5. Mobile toggler ---- */
.main-header .mobile-nav-toggler {
    display: none;
    width: 42px;
    height: 42px;
    background: #f4f4f4;
    border-radius: 8px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    margin-left: 8px;
    flex-shrink: 0;
}
.main-header .mobile-nav-toggler:hover { background: #e8e8e8; }
.main-header .mobile-nav-toggler img { width: 22px; height: auto; display: block; }

/* ---- 6. Sticky header ---- */
.sticky-header .header-upper {
    background: #fff !important;
    border-bottom: none;
    box-shadow: 0 3px 18px rgba(0,0,0,0.11);
}

/* ---- 7. Mobile menu panel ---- */
.mobile-menu .menu-box { background: #fff; width: 300px; }
.mobile-menu .nav-logo {
    padding: 20px 20px 16px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 4px;
}
.mobile-menu .nav-logo img {
    width: 120px !important;
    height: auto;
    max-width: unset !important;
}
.mobile-menu .navigation li a {
    font-family: 'Roboto', 'Yantramanav', sans-serif !important;
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid #f2f2f2;
    display: block;
    transition: color 0.15s, background 0.15s;
    text-transform: capitalize !important;
}
.mobile-menu .navigation li a:hover { color: #ED1C24 !important; background: #fff8f8; }
.mobile-menu .navigation li.current > a,
.mobile-menu .navigation li.current-menu-item > a { color: #ED1C24 !important; }
/* Nested items */
.mobile-menu .navigation li ul li a {
    padding-left: 34px !important;
    font-size: 14px;
    font-weight: 400;
    color: #555 !important;
}
.mobile-menu .navigation li ul li a:hover { color: #ED1C24 !important; }
.mobile-menu .close-btn { top: 14px; right: 16px; }
.mobile-menu .menu-backdrop { background: rgba(0,0,0,0.55); }

/* ============================================================
   HEADER RESPONSIVE
   ============================================================ */
@media (max-width: 1139px) {
    .main-header .mobile-nav-toggler { display: flex; }
    .main-header .header-upper .auto-container { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 767px) {
    /* Contact bar: keep visible, stack items */
    .main-header .header-top { display: block; padding: 8px 0; }
    .main-header .header-top .inner-container {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 20px;
    }
    .main-header .header-top .phone-number a,
    .main-header .header-top .mail-address a { font-size: 12px; }
    .main-header .header-top .flaticon-calling:before,
    .main-header .header-top .flaticon-mail:before { font-size: 11px; }
    /* Nav bar */
    .main-header .header-upper .auto-container { padding-left: 16px; padding-right: 16px; }
    .main-header .header-upper .inner-container { min-height: 56px; }
    .main-header .header-upper .logo img { width: 110px !important; }
    .main-header .mobile-nav-toggler { width: 38px; height: 38px; }
    .main-header .mobile-nav-toggler img { width: 20px; }
}
@media (max-width: 480px) {
    .main-header .header-top .inner-container { flex-direction: column; gap: 6px; align-items: center; }
    .main-header .header-top .phone-number a,
    .main-header .header-top .mail-address a { font-size: 13px; font-weight: 700; }
    .main-header .header-upper .inner-container { min-height: 52px; }
    .main-header .header-upper .logo img { width: 100px !important; }
    .mobile-menu .menu-box { width: 280px; }
}

/* ---- icons8.com icon styles (kontakt-oss page) ---- */
/* bar items: invert black→white (already in page-kontakt-oss.css .ko-bar-item img) */
/* card icons: black→#ED1C24 via filter */
.tj-card__icon img {
    filter: brightness(0) saturate(100%) invert(18%) sepia(96%) saturate(4000%) hue-rotate(346deg) brightness(96%) contrast(110%);
}

/* ---- Reviews / trust-stats section (galleri page, section 1c8ae4c) ---- */
.elementor-element-1c8ae4c {
    background: #0E0E0E !important;
    padding: 56px 0 !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
}
/* Pull fl-footer up to cover the 70px structural gap in page-wrapper */
.fl-footer {
    margin-top: -72px !important;
    position: relative !important;
    z-index: 1 !important;
}
/* Vertically centre content in each column */
.elementor-element-1c8ae4c > .elementor-container > .elementor-column > .elementor-widget-wrap {
    justify-content: center !important;
    align-items: center !important;
}
/* Left col: inner section row — logo | number+label, centred */
.elementor-element-cce1758 { width: 100% !important; }
.elementor-element-cce1758 > .elementor-container {
    justify-content: center !important;
    align-items: center !important;
    gap: 20px !important;
}
.elementor-element-cce1758 .elementor-col-50 {
    width: auto !important;
    flex: 0 0 auto !important;
}
.elementor-element-278e45c .elementor-widget-wrap {
    align-items: flex-start !important;
}
/* Right col: centred column — 1520 on top, logo+label row below */
.elementor-element-5d8d0fb > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}
/* Right inner section: logo + label in a centred row */
.elementor-element-d887144 { width: 100% !important; }
.elementor-element-d887144 > .elementor-container {
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
}
.elementor-element-d887144 .elementor-col-50 {
    width: auto !important;
    flex: 0 0 auto !important;
}
/* Centre the 1520 heading */
.elementor-element-67f0345 { text-align: center !important; width: 100% !important; }
/* Centre KUNDEOMTALER on right side */
.elementor-element-fa2cd8d { text-align: center !important; }
/* Numbers — big red */
.elementor-element-21478e5 .elementor-heading-title,
.elementor-element-67f0345 .elementor-heading-title {
    color: #ED1C24 !important;
    font-size: 52px !important;
    font-weight: 800 !important;
    font-family: 'DM Sans', sans-serif !important;
    line-height: 1 !important;
    margin: 0 0 4px !important;
}
/* "Kundeomtaler" labels */
.elementor-element-a3bbf34 p,
.elementor-element-a3bbf34,
.elementor-element-fa2cd8d p,
.elementor-element-fa2cd8d {
    color: rgba(255,255,255,.45) !important;
    font-size: 12px !important;
    font-family: 'DM Sans', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: .12em !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}
/* Logos — white pill on dark background */
.elementor-element-2b57aa1 img,
.elementor-element-ba0d586 img {
    filter: none !important;
    height: 42px !important;
    width: auto !important;
    max-width: 130px !important;
    object-fit: contain !important;
    background: #fff !important;
    padding: 5px 10px !important;
    border-radius: 8px !important;
    border: none !important;
    box-shadow: none !important;
}
.elementor-element-2b57aa1 .elementor-image,
.elementor-element-ba0d586 .elementor-image {
    border: none !important;
    box-shadow: none !important;
}
/* Divider between left and right stat */
.elementor-element-1c8ae4c .elementor-col-50:first-child {
    border-right: 1px solid rgba(255,255,255,.08) !important;
}

/* ---- Exempt e-gallery & Chaty from .notransition * { transform:none !important } ---- */
/* The Transida parent theme adds .notransition to <body> on load and its style.css has
   .notransition * { transform: none !important } which kills JS-driven transforms.
   e-gallery uses transform:translate(x,y) to position masonry items; without it the
   widget collapses to 1px. Chaty uses translateY() to fan out channels. */
.notransition .e-gallery-item,
.notransition .elementor-gallery-item,
.notransition .e-gallery-img-wrap,
.notransition .elementor-gallery__container *,
/* Chaty widget */
.notransition #chaty-widget-0 .chaty-channel-list .chaty-channel,
.notransition .chaty-widget .chaty-cta-main .chaty-cta-button,
.notransition .chaty-widget .chaty-cta-close .chaty-cta-button {
    transform: unset !important;
}

/* ---- Second footer logo: pill background, no invert filter ---- */
.fl-brand-logo-2 {
    background: rgba(255,255,255,.09) !important;
    border-radius: 8px !important;
    padding: 5px 10px !important;
}
.fl-brand-logo-2 img {
    height: 28px !important;
    width: auto !important;
    filter: none !important;
}

/* ---- Fix header-style-one absolute positioning (hero goes under header) ---- */
.main-header.header-style-one {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
}
