/* Start custom CSS for html, class: .elementor-element-8006374 *//* --- Sekcja o5: Nowoczesny Layout z pełną treścią --- */
.o5 {
    padding: 50px 20px;
    background-color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    color: #333;
    line-height: 1.6;
}

.o5-container {
    max-width: 1300px;
    margin: 0 auto;
}

.o5-header {
    text-align: center;
    margin-bottom: 70px;
}

.o5-badge {
    color: #00a896;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 13px;
    border-bottom: 2px solid #00a896;
    padding-bottom: 5px;
}

.o5-title {
    font-size: 40px;
    color: #004b87;
    margin: 20px 0;
    font-weight: 300;
}

.o5-title strong { font-weight: 800; }

.o5-subtitle {
    font-size: 19px;
    color: #666;
    max-width: 900px;
    margin: 0 auto;
}

/* Layout */
.o5-main-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-bottom: 80px;
}

.o5-intro p {
    font-size: 18px;
    color: #444;
    margin-bottom: 30px;
}

.o5-tech-section h3 {
    color: #004b87;
    font-size: 22px;
    margin-bottom: 20px;
}

.o5-list {
    list-style: none;
    padding: 0;
}

.o5-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
    font-size: 15px;
}

.o5-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: #00a896;
    font-weight: bold;
}

/* Bento Grid */
.o5-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.o5-card {
    background: #f8fbff;
    padding: 35px;
    border-radius: 25px;
    border: 1px solid #eef2f7;
    transition: 0.3s;
}

.o5-card-number {
    font-size: 12px;
    font-weight: 800;
    color: #00a896;
    margin-bottom: 15px;
    opacity: 0.5;
}

.o5-card h4 {
    color: #004b87;
    margin-bottom: 12px;
    font-size: 18px;
}

.o5-card p {
    font-size: 14px;
    color: #555;
}

.card-accent { background: #e6f7f5; border-color: #d1eeea; }
.card-dark { background: #004b87; color: #fff; }
.card-dark h4, .card-dark p { color: #fff; }

/* Summary & CTA */
.o5-summary {
    background: #f4f7f9;
    padding: 50px;
    border-radius: 40px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: center;
}

.o5-motto h3 { color: #004b87; margin-bottom: 15px; }
.o5-motto p { font-size: 15px; color: #555; }

.o5-action { text-align: center; }
.o5-action p { font-weight: 700; margin-bottom: 20px; color: #004b87; }

.o5-button {
    display: inline-block;
    padding: 15px 35px;
    background: #00a896;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 700;
    transition: 0.3s;
}

.o5-button:hover { background: #004b87; transform: translateY(-3px); }

/* Responsywność */
@media (max-width: 1024px) {
    .o5-main-content, .o5-summary { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .o5-grid { grid-template-columns: 1fr; }
    .o5-title { font-size: 28px; }
}/* End custom CSS */