.sgm-panel {
    position: relative;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: var(--rt-panel-pad);
    box-shadow: 0 1px 2px rgba(0, 49, 92, .05);
    overflow: hidden;
    transition: box-shadow .3s ease;
    color: var(--sgm-color, #000);
}

.sgm-panel.sgm-panel--bordered-left::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: var(--tr-accent);
    background: linear-gradient(180deg, var(--from), var(--to));
    opacity: .9;
}

.sgm-panel.sgm-panel--pattern-background {
    background-color: var(--sgm-bg-color, #eaeaea);
    background: linear-gradient(140deg, var(--sgm-gradient-from), var(--sgm-gradient-to));
}

.sgm-panel.sgm-panel--pattern-background::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../img/bg-pattern.svg") repeat;
    opacity: 0.05;
    pointer-events: none;
}

.sgm-secao-animacao.in .panel {
    animation: sgmPanelIn .6s cubic-bezier(.22, .61, .36, 1) both;
}

@keyframes sgmPanelIn {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
}

.sgm-panel .sgm-panel-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--accent, #2b2f36);
    margin: 0 0 18px;
}

.sgm-grid .sgm-panel {
    height: 100%;
    box-sizing: border-box;
}