/****** Font *******/
body {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	color: #000000;
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
}
*, *:before, *:after { box-sizing: border-box; }
b, strong { font-weight: bold; }
img { max-width: 100%; height: auto; }
h1,h2,h3,h4,h5,h6 { font-family: 'Montserrat', sans-serif; font-weight: 300; margin-top:0; }
a { color: #1c6495; text-decoration: none; }
a:hover {
	color: #112138;
	text-decoration: underline;
	-webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}
a:focus{ text-decoration: none; outline: thin dotted; }
.elementor-button {
	display: inline-block; font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600;
	text-transform: uppercase; letter-spacing: .15em; padding: 12px 28px; border: 2px solid #000000;
	background: transparent; color: #000000; cursor: pointer; text-decoration: none;
	-webkit-transition: .4s; -o-transition: .4s; transition: .4s;
}
.elementor-button:hover { background: #000000; color: #fff; text-decoration: none; }
.arrow-link a { color:#000000; text-transform:uppercase; letter-spacing: .1em; font-size: 13px; font-weight: 600; }
.arrow-link-button .elementor-button { padding: 0; border: 0; color: #1c6495; letter-spacing: .1em; font-weight: 600; }
.arrow-link-button .elementor-button:hover { color: #000000; background: transparent; }
.white-font, .white-font p, .white-font span, .white-font h1, .white-font h2, .white-font h3, .white-font h4, .white-font a { color: #ffffff !important; }
.white-btn .elementor-button { border-color: #ffffff; color: #ffffff; }
.white-btn .elementor-button:hover { background: #ffffff; color: #000; }
.skip-link.screen-reader-text { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

/****** Header ******/
.site-header.header-bar {
	position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; padding: 0;
	-webkit-transition: background .3s; transition: background .3s;
}
.site-header.header-bar.solid { background: #112138; }
.site-header.header-bar.scrolled { background: #112138; }
.header-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 16px 30px; }
.hdr_logo { flex: 0 0 auto; }
.site-logo { height: 40px; width: auto; }
.hdr_nav-col { flex: 1; display: flex; justify-content: flex-end; align-items: center; gap: 18px; }
.stratum-top-menu { list-style:none; margin:0; padding:0; display:flex; }
.stratum-menu-item { display: inline-block; }
.stratum-menu-item__link {
	color: #ffffff; text-decoration: none; font-size: 13px; font-weight: 500;
	letter-spacing: .05em; text-transform: uppercase; padding: 8px 16px; display: block;
}
.stratum-menu-item__link:hover { color: #84ABCE; text-decoration:none; }
.stratum-current-menu-item .stratum-menu-item__link { color: #fff; }
.main-navigation .stratum-current-menu-item:after {
    content: ""; height: 3px; width: 28px; background-color: #84ABCE;
    position: relative; display: block; left: 16px;
}
.stratum-menu-toggle { display: none; }
.stratum-menu-toggle__button { border: none !important; background: transparent; cursor: pointer; padding: 8px; }
.stratum-menu-toggle__button i { color: #ffffff; font-size: 1.5rem; }
.cart-header-btn { position:relative; cursor:pointer; color:#fff; font-size:1.3rem; padding:6px; }
.cart-header-btn .cart-count {
	position:absolute; top:-2px; right:-6px; background:#1c6495; color:#fff; font-size:10px; font-weight:700;
	width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center;
}

/****** Hero Slider ******/
.hero-section { position: relative; width: 100%; height: 92vh; min-height: 520px; overflow: hidden; }
.swiper-wrapper.elementor-slides { width:100%; height:100%; position:relative; }
.swiper-slide.slide-item { position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; -webkit-transition: opacity .6s; transition: opacity .6s; }
.swiper-slide.slide-item.active { opacity:1; z-index:2; }
.swiper-slide-bg { position:absolute; top:0; left:0; width:100%; height:100%; background-size:cover; background-position:center center; }
.slide-1 .swiper-slide-bg { background-image: url('../gallery/hero-kitchen-702.webp'); }
.slide-2 .swiper-slide-bg { background-image: url('../gallery/hero-appliances-318.webp'); }
.slide-3 .swiper-slide-bg { background-image: url('../gallery/hero-bremerhaven-045.webp'); }
.swiper-slide-inner {
	position:absolute; top:0; left:0; width:100%; height:100%;
	background-image: linear-gradient(90deg, #01131cba 0%, #00000000 100%);
	display:flex; align-items:center;
}
.swiper-slide-contents { max-width:1140px; margin:0 auto; padding:0 30px; width:100%; }
.elementor-slide-heading { font-size: 44px; font-weight: 300; color: #ffffff; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 12px; font-style: italic; line-height: 1.15; }
.elementor-slide-description { font-size: 17px; color: #fff; margin-bottom: 30px; font-weight: 400; }
.elementor-slide-button { border-color:#ffffff; color:#ffffff; }
.elementor-slide-button:hover { background:#ffffff; color:#000; }
.elementor-swiper-button { position:absolute; top:50%; transform:translateY(-50%); z-index:10; cursor:pointer; color:#ffffff; font-size:26px; padding:14px 16px; background:rgba(0,0,0,.15); -webkit-transition:.4s; transition:.4s; line-height:1; }
.elementor-swiper-button:hover { background: rgba(0,0,0,.45); }
.elementor-swiper-button-prev { left:0; }
.elementor-swiper-button-next { right:0; }

/****** Section base ******/
.sc_inner { max-width:1140px; margin:0 auto; padding:0 30px; }
.sc_heading { font-size:2rem; font-weight:300; letter-spacing:.06em; margin-bottom:14px; color:#000; }
.sc_sub { font-size:15px; color:#555; line-height:1.6; max-width:600px; }
.sc_heading_center { text-align:center; }
.sc_sub_center { text-align:center; margin-left:auto; margin-right:auto; }
.divider-row { max-width:1140px; margin:0 auto; padding:0 30px; }
.elementor-divider-separator { display:block; border-top:1px solid #dddddd; }

/****** Services ******/
.services-block { padding: 80px 0 70px; }
.services-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:40px; margin-top:45px; }
.srv-item i { font-size:2rem; color:#1c6495; margin-bottom:16px; display:block; }
.srv-item h3 { font-size:17px; font-weight:600; margin-bottom:8px; }
.srv-item p { font-size:14px; line-height:1.65; color:#444; }

/****** Products ******/
.products-block { padding:70px 0 65px; background:#f8f8f8; }
.products-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:40px; }
.prd-card { background:#fff; }
.prd-card-img { height:240px; background-color:#D6D6D6; background-position:center; background-size:cover; background-repeat:no-repeat; position:relative; overflow:hidden; }
.prd-card-img:hover .prd-overlay { opacity:1; }
.prd-overlay { position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(28,100,149,.85); display:flex; align-items:center; justify-content:center; opacity:0; -webkit-transition:.35s; transition:.35s; }
.prd-overlay .elementor-button { border-color:#fff; color:#fff; font-size:11px; padding:10px 22px; }
.prd-overlay .elementor-button:hover { background:#fff; color:#1c6495; }
.prd-card-body { padding:18px 16px 20px; }
.prd-card-body h3 { font-size:1em; font-weight:600; margin-bottom:4px; }
.prd-card-body .pCard-meta { font-size:13px; color:#777; margin-bottom:8px; }
.prd-card-body .pCard_price { font-size:1.15rem; font-weight:700; color:#1c6495; }

/****** Why us ******/
.whychoose-block { padding:85px 0 75px; }
.whychoose-inner { display:flex; gap:55px; align-items:center; }
.whychoose-img { flex:0 0 42%; }
.whychoose-img img { width:100%; display:block; }
.whychoose-txt { flex:1; }
.whychoose-txt p { font-size:15px; line-height:1.75; color:#333; margin-bottom:14px; }
.whychoose-cta { margin-top:18px; }

/***** Advantages *****/
.advantages-block { padding:0; }
.advantages-row-one { display:flex; min-height:380px; }
.adv-info-tile { flex:0 0 38%; background-color:#112138; padding:50px 42px; display:flex; flex-direction:column; justify-content:center; }
.adv-info-tile h2 { font-size:1.7rem; font-weight:300; margin-bottom:18px; }
.adv-info-tile p { font-size:14px; line-height:1.7; margin-bottom:22px; }
.adv-photo-tile { flex:1; background-size:cover; background-position:center; }
.adv-photo-tile.tile_a { background-image: url('../gallery/advantage-geraete-regal-509.webp'); }
.adv-photo-tile.tile_b { background-image: url('../gallery/advantage-arbeitsflaeche-161.webp'); }
.adv-callouts { display:flex; }
.adv-callout { flex:1; padding:38px 28px; display:flex; flex-direction:column; justify-content:center; }
.adv-callout i { font-size:2.2rem; margin-bottom:12px; }
.adv-callout h3 { font-size:15px; font-weight:600; margin:0 0 6px; }
.adv-callout p { font-size:13px; line-height:1.55; margin:0; }
.adv-c1 { background:#84ABCE; color:#112138; }
.adv-c2 { background:#1c6495; color:#fff; }
.adv-c3 { background:#112138; color:#fff; }

/****** How we work ******/
.howwork-block { padding:80px 0 70px; }
.howwork-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:45px; }
.hw-step-num { font-size:3.5rem; font-weight:700; color:#e8e8e8; line-height:1; margin-bottom:10px; }
.hw-step h3 { font-size:16px; font-weight:600; margin-bottom:8px; }
.hw-step p { font-size:14px; color:#555; line-height:1.6; }

/****** FAQ ******/
.faq-block { padding:70px 0; background:#f8f8f8; }
.faq-list { max-width:780px; margin:38px auto 0; }
.faq-item { border-bottom:1px solid #ddd; }
.faq-q { padding:20px 0; cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-size:16px; font-weight:600; color:#000; }
.faq-q i { font-size:1.1rem; -webkit-transition:.3s; transition:.3s; flex-shrink:0; margin-left:14px; }
.faq-q.open i { transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; -webkit-transition: max-height .35s ease; transition: max-height .35s ease; }
.faq-a-inner { padding:0 0 20px; font-size:15px; line-height:1.7; color:#444; }

/****** Reviews ******/
.reviews-block { padding:80px 0 70px; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:42px; }
.rev-card { border:1px solid #e5e5e5; overflow:hidden; }
.rev-card-img { height:180px; background-size:cover; background-position:center; background-color:#eee; }
.rev-card-body { padding:22px 20px; }
.rev-stars { color:#1c6495; font-size:13px; margin-bottom:10px; display:flex; gap:2px; }
.rev-text { font-size:14px; line-height:1.65; color:#333; margin-bottom:14px; }
.rev-author { font-size:13px; font-weight:600; color:#000; }

/****** Contact ******/
.contact-block { padding:75px 0 70px; background:#f8f8f8; }
.contact-inner { display:flex; gap:60px; align-items:flex-start; }
.contact-info { flex:0 0 35%; }
.contact-info h3 { font-size:15px; font-weight:600; margin-bottom:14px; text-transform:uppercase; letter-spacing:.08em; }
.contact-info p { font-size:14px; line-height:1.8; color:#444; margin-bottom:18px; }
.contact-form-wrap { flex:1; }
.cf-field { margin-bottom:18px; }
.cf-field label { display:block; font-size:13px; font-weight:600; margin-bottom:6px; text-transform:uppercase; letter-spacing:.05em; }
.cf-field input, .cf-field textarea { width:100%; padding:12px 14px; border:1px solid #ccc; font-family:'Montserrat',sans-serif; font-size:14px; -webkit-transition:.3s; transition:.3s; background:#fff; }
.cf-field input:focus, .cf-field textarea:focus { border-color:#1c6495; outline:none; }
.cf-field textarea { height:120px; resize:vertical; }
.cf-submit { margin-top:8px; }
.cf-msg { margin-top:12px; font-size:14px; }
.cf-msg.ok { color:#1c6495; }
.cf-msg.err { color:#c0392b; }

/****** footer ******/
.site-footer { background:#112138; padding:55px 0 25px; }
.footer .e-con-inner { max-width:1200px; margin:0 auto; padding:0 30px; }
.footer-logo { text-align:center; margin-bottom:36px; }
.footer-logo img { height:45px; width:auto; filter: brightness(0) invert(1); }
.footer-contact .e-con-inner { display:flex; justify-content:space-between; gap:30px; }
.ftr_col { flex:1; }
.ftr_col h4 { font-size:12px; font-weight:700; letter-spacing:.12em; margin-bottom:12px; color:#84ABCE; }
.ftr_col p { font-size:14px; line-height:1.8; color:#ccc; }
.footer-contact a { color:#ccc; }
.footer-contact a:hover { color:#ffffff; }
.ftr_copyright { text-align:center; margin-top:35px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); }
.ftr_copyright .elementor-widget-container { font-size:12px; color:#777; }

/****** Cart Overlay ******/
.cart-overlay { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.55); z-index:2000; align-items:center; justify-content:center; }
.cart-overlay.open { display:flex; }
.cart-popup { background:#fff; width:92%; max-width:820px; max-height:88vh; overflow-y:auto; }
.cart-popup-header { display:flex; justify-content:space-between; align-items:center; padding:24px 32px; border-bottom:1px solid #eee; }
.cart-popup-header h2 { font-size:1.3rem; font-weight:600; margin:0; }
.cart-popup-icon { margin-right:10px; }
.cart-close { cursor:pointer; font-size:1.4rem; color:#000; padding:4px; }
.cart-body { padding:24px 32px; }
.cart-empty { text-align:center; padding:40px 0; color:#888; font-size:15px; }
#cartFooter { display:none; }
.cart-item { display:flex; align-items:center; gap:18px; padding:16px 0; border-bottom:1px solid #f0f0f0; }
.cart-item-img { width:72px; height:72px; background-size:cover; background-position:center; background-color:#eee; flex-shrink:0; }
.cart-item-info { flex:1; }
.cart-item-info h4 { font-size:15px; font-weight:600; margin:0 0 3px; }
.cart-item-info .ci-price { font-size:14px; color:#1c6495; font-weight:600; }
.cart-item-qty { display:flex; align-items:center; }
.cart-item-qty button { width:30px; height:30px; border:1px solid #ccc; background:#fff; cursor:pointer; font-size:16px; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; }
.cart-item-qty button:hover { background:#f5f5f5; }
.cart-item-qty span { width:36px; text-align:center; font-size:14px; font-weight:600; }
.cart-item-remove { cursor:pointer; color:#999; font-size:1.1rem; margin-left:12px; }
.cart-item-remove:hover { color:#c0392b; }
.cart-footer { padding:20px 32px 28px; border-top:1px solid #eee; }
.cart-total { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.cart-total-label { font-size:15px; font-weight:600; }
.cart-total-val { font-size:1.3rem; font-weight:700; color:#1c6495; }
.cart-actions { display:flex; gap:12px; flex-wrap:wrap; }
.cart-actions .elementor-button { flex:1; text-align:center; min-width:140px; }
.btn-clear { border-color:#ccc; color:#666; }
.btn-clear:hover { background:#ccc; color:#000; border-color:#ccc; }
.btn-order { border-color:#1c6495; color:#1c6495; }
.btn-order:hover { background:#1c6495; color:#fff; border-color:#1c6495; }

.order-overlay { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.6); z-index:2500; align-items:center; justify-content:center; }
.order-overlay.open { display:flex; }
.order-popup { background:#fff; width:92%; max-width:500px; padding:32px; }
.order-popup h3 { font-size:1.1rem; font-weight:600; margin:0 0 20px; }
.order-popup .cf-field { margin-bottom:14px; }
.order-btns { display:flex; gap:10px; margin-top:16px; }
.order-btns .elementor-button { flex:1; text-align:center; }

.thankyou-overlay { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.5); z-index:3000; align-items:center; justify-content:center; }
.thankyou-overlay.open { display:flex; }
.thankyou-box { background:#fff; padding:48px 40px; text-align:center; max-width:420px; width:90%; }
.thankyou-box i { font-size:2.8rem; color:#1c6495; margin-bottom:16px; display:block; }
.thankyou-box h3 { font-size:1.2rem; font-weight:600; margin-bottom:8px; }
.thankyou-box p { font-size:14px; color:#555; margin-bottom:22px; }

/****** GDPR ******/
.gdpr-banner { display:none; position:fixed; bottom:24px; right:24px; z-index:4000; background:#112138; color:#fff; width:420px; max-width:calc(100% - 32px); padding:28px 26px 22px; }
.gdpr-banner.show { display:block; }
.gdpr-banner h4 { font-size:15px; font-weight:600; margin:0 0 10px; color:#fff; display:flex; align-items:center; gap:8px; }
.gdpr-banner p { font-size:13px; line-height:1.6; color:#bbb; margin:0 0 16px; }
.gdpr-banner a { color:#84ABCE; }
.gdpr-btns { display:flex; gap:8px; flex-wrap:wrap; }
.gdpr-btns button { flex:1; min-width:90px; padding:9px 14px; border:1px solid #84ABCE; background:transparent; color:#84ABCE; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; -webkit-transition:.3s; transition:.3s; }
.gdpr-btns button:hover { background:#84ABCE; color:#112138; }
.gdpr-btns .gdpr-accept { background:#84ABCE; color:#112138; }
.gdpr-btns .gdpr-accept:hover { background:#fff; color:#112138; border-color:#fff; }
.gdpr-settings-panel { display:none; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.15); }
.gdpr-settings-panel.open { display:block; }
.gdpr-opt { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.gdpr-opt label { font-size:12px; color:#ccc; }
.gdpr-opt input { accent-color:#84ABCE; }
.gdpr-save-btn { width:100%; border:1px solid #84ABCE; padding:8px; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; background:#84ABCE; color:#112138; -webkit-transition:.3s; transition:.3s; margin-top:12px; }
.gdpr-save-btn:hover { background:#fff; border-color:#fff; }

/***** Subpages *****/
.page-banner { background:#112138; padding:140px 0 55px; text-align:center; }
.page-banner h1 { color:#fff; font-size:2.2rem; font-weight:300; letter-spacing:.08em; margin:0; }
.page-banner p { color:#aaa; font-size:15px; margin:12px 0 0; }
.legal-content { max-width:780px; margin:0 auto; padding:60px 30px 70px; }
.legal-content h2 { font-size:1.15rem; font-weight:600; margin:32px 0 10px; color:#000; }
.legal-content p { font-size:15px; line-height:1.75; color:#333; margin:0 0 14px; }
.legal-content ul { padding-left:18px; margin:0 0 14px; }
.legal-content li { font-size:15px; line-height:1.7; color:#333; margin-bottom:5px; }
.cookie-table { width:100%; border-collapse:collapse; margin:14px 0 18px; font-size:14px; }
.cookie-table th { text-align:left; padding:10px 12px; background:#f5f5f5; font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:.04em; border-bottom:2px solid #ddd; }
.cookie-table td { padding:10px 12px; border-bottom:1px solid #eee; color:#444; vertical-align:top; }
.faq-wrap { max-width:820px; margin:0 auto; padding:55px 30px 80px; }
.faq-section { margin-bottom:50px; }
.faq-section:last-child { margin-bottom:0; }
.faq-section-title { font-size:1.3rem; font-weight:600; margin:0 0 22px; padding-bottom:12px; border-bottom:2px solid #112138; color:#000; }
.faq-cta-block { text-align:center; padding:45px 30px; background:#f8f8f8; max-width:820px; margin:0 auto; }
.faq-cta-block p { font-size:15px; color:#555; margin:0 0 18px; }

/*** Responsiveness **/
@media (max-width:1024px) {
	.stratum-menu-toggle { display:block; }
	.stratum-menu-container { display:none; position:absolute; top:100%; left:0; width:100%; background:#112138 !important; padding:20px 0; }
	.stratum-menu-container.menu-open { display:block; }
	.stratum-top-menu { flex-direction:column; }
	.stratum-menu-item { display:block; border-bottom:1px solid rgba(255,255,255,.1); }
	.stratum-menu-item__link { padding:12px 30px; }
	.main-navigation .stratum-current-menu-item:after { left:30px; }
	.services-grid { grid-template-columns:repeat(2,1fr); gap:30px; }
	.products-grid { grid-template-columns:repeat(2,1fr); }
	.whychoose-inner { flex-direction:column; gap:30px; }
	.whychoose-img { flex:0 0 auto; }
	.advantages-row-one { flex-direction:column; }
	.adv-info-tile { flex:0 0 auto; }
	.adv-photo-tile.tile_b { display:none; }
	.adv-callouts { flex-wrap:wrap; }
	.adv-callout { flex:0 0 50%; }
	.howwork-steps { grid-template-columns:repeat(2,1fr); }
	.reviews-grid { grid-template-columns:repeat(2,1fr); }
	.contact-inner { flex-direction:column; gap:35px; }
	.contact-info { flex:0 0 auto; }
	.footer-contact .e-con-inner { flex-direction:column; gap:22px; }
	.cookie-table { font-size:13px; }
}
@media (max-width:767px) {
	.elementor-slide-heading { font-size:28px; }
	.hero-section { height:75vh; min-height:420px; }
	.swiper-slide-contents { padding:0 20px; }
	.services-grid { grid-template-columns:1fr; }
	.products-grid { grid-template-columns:1fr; }
	.howwork-steps { grid-template-columns:1fr; }
	.reviews-grid { grid-template-columns:1fr; }
	.adv-callouts { flex-direction:column; }
	.adv-callout { flex:0 0 auto; }
	.adv-photo-tile { display:none; }
	.sc_heading { font-size:1.5rem; }
	.cart-popup { width:100%; max-width:100%; max-height:100vh; }
	.gdpr-banner { bottom:0; right:0; max-width:100%; width:100%; }
	.page-banner { padding:120px 20px 40px; }
	.page-banner h1 { font-size:1.5rem; }
	.legal-content { padding:40px 20px 50px; }
	.faq-wrap { padding:35px 20px 50px; }
	.faq-section-title { font-size:1.1rem; }
	.cookie-table th, .cookie-table td { padding:8px; font-size:12px; }
}
