/*
Theme Name: SymbioSystem
Template: hello-elementor
Version: 2.0
Description: SymbioSystem Cleaning Serwis – Professional B2B Cleaning Website
*/


/* SymbioSystem Global Styles */
/* Design: Navy #1e3a6e + Crimson #c41e3a, Montserrat + Inter */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    --symbio-navy: #1e3a6e;
    --symbio-navy-dark: #0e1a34;
    --symbio-navy-light: #2a4a8a;
    --symbio-crimson: #c41e3a;
    --symbio-white: #ffffff;
    --symbio-bg-light: #f8fafc;
    --symbio-gray: #6b7280;
}

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    margin: 0;
    padding: 0;
    background: var(--symbio-bg-light);
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    color: var(--symbio-navy);
}

p{
	margin-top: 12px;
	margin-bottom: 12px;
}
.hero {
    height: 100vh;
}

.hero-slider {
    position: relative;
    height: 100%;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}

.hero-slide .overlay {
    position: absolute;
    inset: 0;
    background: rgba(10, 30, 60, 0.7);
}
.hero-container {
    height: 100%;
    display: flex;
    align-items: center;
}
.hero-content {
    position: relative;
    color: #fff;
    max-width: 700px;
    padding-left: 90px;
     display: flex;
  flex-direction: column;
}

.swiper-slide {
background: linear-gradient(to right, rgba(14, 26, 52, 0.88) 0%, rgba(14, 26, 52, 0.55) 60%, rgba(14, 26, 52, 0.3) 100%);
}
.hero-title {
    font-size: 51px !important;
    color: white;
    line-height: 64px;
    margin-bottom: 16px;
    margin-top: 0;
    font-weight: 700;
}
.hero-badge {
	display:block;
	background:#c41e3a;
	color:white;
	font-family:'Montserrat',sans-serif;
	font-size:12px;
	font-weight:600;
	letter-spacing:0.12em;
	text-transform:uppercase;
	padding:4px 16px;
	border-radius:50px;
	margin-bottom:16px;
	line-height: 16px;
	width: fit-content;
}


.sub-paragraph {
  font-size: 18px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  opacity: .9;
  line-height: 26px;
  margin-bottom: 12px;
}

.hero-description {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #ffffff;
  margin-bottom: 20px;
  opacity: .9;
}

.hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* BUTTON BASE */
.btn {
      background-color: var(--symbio-crimson);
    color: #fff !important;
    letter-spacing: .08em;
    border: 2px solid var(--symbio-crimson);
    border-radius: 50px;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1.5rem;
    font-family: Montserrat, sans-serif;
    font-size: .75rem;
    font-weight: 700;
    text-decoration: none;
    transition: all .2s;
    display: inline-flex;
 
}

.btn a {
	 color: #ffffff !important;
}

/* PRIMARY BUTTON */


/* OUTLINE BUTTON */
.btn-outline {
      color: #fff !important;
    letter-spacing: .08em;
    white-space: nowrap;
    background-color: #0000;
    border: 2px solid #fff9;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1.5rem;
    font-family: Montserrat, sans-serif;
    font-size: .75rem;
    font-weight: 700;
    text-decoration: none;
    transition: all .2s;
    display: inline-flex;
}
.btn-outline:hover, .btn:hover {
	transform: translatey(-1px);
}
.btn:hover {
	background-color: #A01830;
	border-color: #A01830;
}
.btn-outline:hover {
	background-color: #ffffff26;
	border-color: #fff9;
}


.hero-pagination {
    display: flex;
    position: absolute;
    bottom: 32px;
    right: 32px;
    gap: 12px;
    align-items: center;
    width: 160px;
}

.hero-pagination .swiper-pagination {
    position: unset;
}
.swiper-pagination-bullets.swiper-pagination-horizontal {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    justify-content: center;
}
.swiper-button-next, .swiper-button-prev {
background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: white !important;
    border-radius: 100%;
    line-height: 24px;
    width: 40px !important;
    height: 40px !important;
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 12px !important;
}
.swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background-color: rgba(255, 255, 255, 0.4) !important;
}
.swiper-pagination-bullet-active {
    width: 24px !important;
    height: 8px !important;
    background-color: var(--symbio-crimson) !important;
    border-radius: 12px !important;
}
/* Remove default WP margins */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1280px;
}

/* Edge-to-edge sections */
.elementor-section {
    margin: 0 !important;
}

/* Pill button style */
.symbio-btn-pill {
    border-radius: 50px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

/* Image frames */
.symbio-img-frame img {
    border: 1px solid var(--symbio-navy);
    border-radius: 12px;
}

/* Glassmorphism nav */
.symbio-header-section {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Bubble/water background for subpages */
.symbio-bubble-bg {
    background-image: radial-gradient(circle at 20% 50%, rgba(30,58,110,0.05) 0%, transparent 50%),
                      radial-gradient(circle at 80% 20%, rgba(196,30,58,0.03) 0%, transparent 50%),
                      radial-gradient(circle at 50% 80%, rgba(30,58,110,0.04) 0%, transparent 50%);
}

/* Accordion styling */
.elementor-accordion .elementor-accordion-item {
    background: white !important;
	border: 1px solid #1e3a6e1a !important;
    border-radius: 12px !important;
    margin-bottom: 12px !important;
    overflow: hidden;
	transition: all .3s ease-in;
	
}

.elementor-accordion .elementor-accordion-item:hover {
	border: 1px solid #1e3a6e !important;
}

.elementor-accordion .elementor-tab-title {
    background: white !important;
    color: var(--symbio-navy) !important;
    font-family: 'Montserrat', sans-serif !important;
	font-size: 14px;
    font-weight: 600 !important;
	line-height: 20px;
}


.elementor-accordion .elementor-tab-content {
    color: var(--symbio-gray) !important;
    font-family: 'Inter', sans-serif !important;
	padding-top: 0 !important;
}
 
.stars {
	color: yellow;
}


.offer-icon p, .offer-badge p, .offer-hours p {
	margin: 0;
}

.post-content {
	height: 100%;
}

.post-content .single-label {
	font-weight: 700;
	color:  var(--symbio-navy);
}
.page-banner:after {
    content: "";
    clip-path: ellipse(55% 100% at 50% 100%);
    background: #f8f9fc;
    height: 40px;
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
}

.elementor-post-info__terms-list span::after {
  content: none;
}

.post-breadcrumb a {
	color:rgba(255,255,255,0.5) !important;
	font-size: 12px;	
}

.post-breadcrumb span {
	margin-right: 6px;
}

.post-info__category .elementor-post-info__item--type-terms {
	background:#c41e3a;
	color:white;
	font-size:11px;
	font-weight:700;
	font-family:Montserrat,sans-serif;
	letter-spacing:1.5px;
	text-transform:uppercase;
	padding:5px 14px;
	border-radius:50px;
}

.single-post .elementor-icon-box-title, .single-post .elementor-image-box-title, .technical-box .elementor-icon-box-title, .technical-box ul, h3.elementor-image-box-title {
	margin-top: 0;
}

.job-box .elementor-icon-box-title {
	margin-top: 0;
	margin-bottom: 0;
}

.custom-list ul {
  list-style: none; /* usuwa kropki */
  padding: 0;
}

.custom-list li {
  position: relative;
  padding-left: 19px;
  margin-bottom: 10px;
}

.custom-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 4px;
  width: 14px;
  height: 14px;
  border: 1px solid var(--symbio-crimson);
  border-radius: 50%;
  color: var(--symbio-crimson);
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
	font-weight: 800;
}

.navbar.scrolled {
  background: white !important; 
}

.navbar.scrolled ul li a {
 color: var(--symbio-navy) !important; 
}

.job-details .elementor-widget-text-editor {
	display: flex;
	justify-content: space-between;
}
.job-details .elementor-widget-text-editor span {
	font-weight: 600;
	color: var(--symbio-navy);
}

.single-post .post-tags a, .post-tags span span {
	padding: 6px;
	border-radius: 50px;
	background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.jobs-tags span span {
	background: #F0F4F8;
	border: solid 1px var(--symbio-navy);
	padding: 6px;
	border-radius: 50px;
}
.jobs-tags span, .post-tags span, .single-post .post-tags {
	display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
@media (max-width: 767px) {
    .hero-content {
        padding: 10px;
    }
    .hero-title {
        line-height: 36px;
        font-size: 29px !important;
    }
}