/* OBT Elementor Style Columns */

.obt-columns-wrap {
    display: grid;
    gap: var(--obt-gap, 24px);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 24px 0;
}

.obt-columns-wrap,
.obt-columns-wrap * {
    box-sizing: border-box;
}

.obt-columns-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.obt-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.obt-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.obt-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.obt-columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.obt-columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.obt-align-stretch { align-items: stretch; }
.obt-align-start { align-items: start; }
.obt-align-center { align-items: center; }
.obt-align-end { align-items: end; }

.obt-column {
    min-width: 0;
    width: 100%;
    display: flex;
}

.obt-column-inner {
    width: 100%;
    padding: var(--obt-padding, 24px);
    line-height: 1.55;
}

.obt-column-inner > *:first-child { margin-top: 0; }
.obt-column-inner > *:last-child { margin-bottom: 0; }

.obt-style-none .obt-column-inner {
    padding: var(--obt-padding, 24px);
}

.obt-style-card .obt-column-inner {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    border: 1px solid rgba(0,0,0,0.06);
}

.obt-style-outline .obt-column-inner {
    background: transparent;
    border-radius: 14px;
    border: 1px solid rgba(0,0,0,0.18);
}

.obt-style-dark .obt-column-inner {
    background: #111827;
    color: #ffffff;
    border-radius: 14px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.18);
}

.obt-style-dark .obt-column-inner a {
    color: #dbeafe;
}

.obt-column-inner img,
.obt-column-inner video,
.obt-column-inner iframe {
    max-width: 100%;
    height: auto;
    display: block;
}

.obt-column-inner iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
}

/* Tablet */
@media (max-width: 1024px) {
    .obt-columns-4,
    .obt-columns-5,
    .obt-columns-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 767px) {
    .obt-columns-wrap {
        grid-template-columns: 1fr !important;
    }

    .obt-column-inner {
        padding: calc(var(--obt-padding, 24px) * .8);
    }
}
