/* ============================================================
   Ambiente Showcase Widget — asw-styles.css
   ============================================================ */

/* ── Root & Wrapper ─────────────────────────────────────── */
.asw-root {
    width: 100%;
    box-sizing: border-box;
}

.asw-wrapper {
    display: flex;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
}

/* ── Main Column ────────────────────────────────────────── */
.asw-main-col {
    box-sizing: border-box;
    min-width: 0;
}

/* ── Panels Container ───────────────────────────────────── */
.asw-panels-container {
    position: relative;
    width: 100%;
}

/* ── Panel ──────────────────────────────────────────────── */
.asw-panel {
    display: none;
    width: 100%;
}
.asw-panel.asw-active {
    display: block;
}

/* Fade transition */
.asw-fade .asw-panel {
    display: block;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}
.asw-fade .asw-panel.asw-active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    position: relative;
}

/* ── Main Image ─────────────────────────────────────────── */
.asw-main-image-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f0f0f0;
}
.asw-main-image-wrap img {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}

/* ── Products Grid ──────────────────────────────────────── */
.asw-products-grid {
    display: grid;
    margin-top: 20px;
}

/* ── Product Item ───────────────────────────────────────── */
.asw-product-item {
    box-sizing: border-box;
}
.asw-product-item a {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* ── Product Image ──────────────────────────────────────── */
.asw-product-image-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f5f5f5;
}
.asw-product-image-wrap img {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}

/* ── Product Title ──────────────────────────────────────── */
.asw-product-title {
    margin: 8px 0 0 0;
    padding: 0;
    line-height: 1.4;
    word-break: break-word;
}

/* ── Thumbs Column ──────────────────────────────────────── */
.asw-thumbs-col {
    box-sizing: border-box;
    min-width: 0;
}

/* Scrollbar (webkit) */
.asw-thumbs-col::-webkit-scrollbar       { width: 4px; }
.asw-thumbs-col::-webkit-scrollbar-track { background: transparent; }
.asw-thumbs-col::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.15); border-radius: 2px; }

/* ── Thumbs List ────────────────────────────────────────── */
.asw-thumbs-list {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* ── Thumb Item ─────────────────────────────────────────── */
.asw-thumb-item {
    cursor: pointer;
    overflow: hidden;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

/* ── Thumb Image Wrap ───────────────────────────────────── */
.asw-thumb-image-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f0f0f0;
}
.asw-thumb-image-wrap img {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    outline: 0px solid transparent;
    outline-offset: 0px;
    transition: outline-color 0.3s ease;
}

/* ── Responsive (tablet + mobile) ──────────────────────── */
@media (max-width: 1024px) {

    .asw-wrapper {
        flex-direction: column !important;
    }

    .asw-main-col,
    .asw-thumbs-col {
        width: 100% !important;
        flex: 0 0 auto !important;
    }

    .asw-thumbs-col {
        order: -1;
        margin-bottom: 16px;
        max-height: none !important;
        overflow-y: visible !important;
    }

    .asw-thumbs-list {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 10px;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
    }

    .asw-thumb-item {
        flex: 0 0 120px;
        min-width: 80px;
    }
}
