
/* BuyListas UI 2.0 — Clean marketplace listing v1.5.0 */

.blui2-clean-listing,
.blui2-clean-listing *{
    box-sizing:border-box;
}

.blui2-clean-listing{
    --bl-orange:#ff7a00;
    --bl-orange-2:#ff9838;
    --bl-ink:#17191f;
    --bl-muted:#777d88;
    --bl-line:#e7e9ee;
    --bl-soft:#f6f7f9;
    --bl-shadow:0 18px 52px rgba(17,19,24,.08);
    color:var(--bl-ink);
}

.blui2-clean-listing-inner{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.blui2-clean-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:24px 26px;
    border:1px solid var(--bl-line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--bl-shadow);
}

.blui2-clean-badges{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:10px;
}

.blui2-clean-badges span{
    min-height:25px;
    display:inline-flex;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    background:#f1f2f4;
    color:#555b66;
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.blui2-clean-badges span.is-premium{
    background:linear-gradient(135deg,var(--bl-orange),var(--bl-orange-2));
    color:#fff;
}

.blui2-clean-head h1{
    max-width:940px;
    margin:0;
    font-size:clamp(30px,3.4vw,50px);
    line-height:1.05;
    letter-spacing:-.045em;
}

.blui2-clean-meta{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:13px;
    color:var(--bl-muted);
    font-size:10px;
}

.blui2-clean-favourite{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:0 15px;
    border:1px solid var(--bl-line);
    border-radius:14px;
    background:#fff;
    color:var(--bl-ink)!important;
    font-size:10px;
    font-weight:850;
    text-decoration:none!important;
}

.blui2-clean-favourite span{
    font-size:19px;
}

.blui2-clean-layout{
    display:grid;
    grid-template-columns:minmax(0,1.8fr) minmax(330px,.66fr);
    align-items:start;
    gap:18px;
}

.blui2-clean-main,
.blui2-clean-sidebar{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.blui2-clean-sidebar{
    position:sticky;
    top:94px;
}

.blui2-clean-gallery,
.blui2-clean-section,
.blui2-clean-seller-card,
.blui2-clean-side-card{
    border:1px solid var(--bl-line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--bl-shadow);
}

.blui2-clean-gallery{
    padding:14px;
}

.blui2-clean-main-image{
    min-height:520px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:17px;
    background:#f3f4f6;
}

.blui2-clean-main-image img{
    width:100%;
    height:min(62vw,650px);
    min-height:520px;
    display:block;
    object-fit:contain;
}

.blui2-clean-thumbnails{
    display:flex;
    gap:9px;
    overflow-x:auto;
    margin-top:11px;
    padding-bottom:2px;
}

.blui2-clean-thumbnails button{
    flex:0 0 84px;
    height:66px;
    overflow:hidden;
    padding:0;
    border:2px solid transparent;
    border-radius:11px;
    background:#f3f4f6;
    cursor:pointer;
}

.blui2-clean-thumbnails button.is-active{
    border-color:var(--bl-orange);
}

.blui2-clean-thumbnails img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.blui2-clean-no-image{
    min-height:480px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:#949aa4;
}

.blui2-clean-no-image span{
    font-size:58px;
}

.blui2-clean-section{
    padding:24px;
}

.blui2-clean-section>header,
.blui2-clean-side-card>span{
    color:#dd6500;
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.blui2-clean-section>header{
    margin-bottom:18px;
}

.blui2-clean-section h2,
.blui2-clean-side-card h2{
    margin:5px 0 0;
    color:var(--bl-ink);
    font-size:22px;
    letter-spacing:-.025em;
}

.blui2-clean-spec-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.blui2-clean-spec-grid>div{
    min-height:78px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:13px 14px;
    border:1px solid var(--bl-line);
    border-radius:15px;
    background:#fafbfc;
}

.blui2-clean-spec-grid small{
    margin-bottom:6px;
    color:#7d838e;
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
}

.blui2-clean-spec-grid strong{
    color:#24272e;
    font-size:12px;
}

.blui2-clean-description-content{
    color:#4f5560;
    font-size:14px;
    line-height:1.85;
}

.blui2-clean-description-content img,
.blui2-clean-description-content iframe{
    max-width:100%;
}

.blui2-clean-video iframe{
    width:100%;
    min-height:420px;
    border:0;
    border-radius:15px;
}

.blui2-clean-seller-card{
    padding:21px;
}

.blui2-clean-price{
    color:var(--bl-orange);
    font-size:39px;
    font-weight:950;
    line-height:1;
    letter-spacing:-.04em;
}

.blui2-clean-negotiable{
    display:block;
    margin-top:7px;
    color:var(--bl-muted);
    font-size:10px;
}

.blui2-clean-seller{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:19px;
    padding:14px;
    border:1px solid var(--bl-line);
    border-radius:16px;
    background:#fafbfc;
}

.blui2-clean-seller img,
.blui2-clean-avatar{
    width:52px;
    height:52px;
    flex:0 0 52px;
    border-radius:17px;
    object-fit:cover;
}

.blui2-clean-avatar{
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--bl-orange),var(--bl-orange-2));
    color:#fff;
    font-size:21px;
    font-weight:950;
}

.blui2-clean-seller small,
.blui2-clean-seller span{
    display:block;
    color:var(--bl-muted);
    font-size:9px;
}

.blui2-clean-seller a,
.blui2-clean-seller strong{
    display:block;
    margin:2px 0;
    color:var(--bl-ink);
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}

.blui2-clean-contact{
    margin-top:14px;
}

.blui2-clean-primary,
.blui2-clean-secondary,
.blui2-clean-report,
.blui2-clean-side-card button,
.blui2-clean-form button{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    font-size:11px;
    font-weight:900;
    text-decoration:none!important;
    cursor:pointer;
}

.blui2-clean-primary,
.blui2-clean-form button{
    border:0;
    background:linear-gradient(135deg,var(--bl-orange),var(--bl-orange-2));
    color:#fff!important;
    box-shadow:0 12px 28px rgba(255,122,0,.24);
}

.blui2-clean-secondary,
.blui2-clean-report,
.blui2-clean-side-card button{
    margin-top:9px;
    border:1px solid var(--bl-line);
    background:#fff;
    color:#2c3038!important;
}

.blui2-clean-trust{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:17px;
    padding:15px;
    border-radius:15px;
    background:#f7faf8;
    color:#666c76;
    font-size:9px;
}

.blui2-clean-trust strong{
    margin-bottom:3px;
    color:#25282f;
    font-size:11px;
}

.blui2-clean-form{
    margin-top:12px;
    padding:14px;
    border:1px solid var(--bl-line);
    border-radius:15px;
    background:#fafbfc;
}

.blui2-clean-form label{
    display:block;
    margin-bottom:10px;
    color:#555b66;
    font-size:9px;
    font-weight:850;
}

.blui2-clean-form input,
.blui2-clean-form textarea{
    width:100%;
    margin-top:5px;
    padding:10px 11px;
    border:1px solid var(--bl-line);
    border-radius:11px;
    background:#fff;
    color:var(--bl-ink);
    font:inherit;
}

.blui2-clean-side-card{
    padding:20px;
}

.blui2-clean-side-card p{
    margin:14px 0 0;
    color:#4f5560;
    font-size:13px;
    line-height:1.65;
}

.blui2-clean-map-link{
    display:inline-flex;
    margin-top:14px;
    color:#df6500!important;
    font-size:10px;
    font-weight:900;
    text-decoration:none!important;
}

.blui2-clean-plugin-slot,
.blui2-listing-modules{
    overflow:hidden;
    border-radius:18px;
}

.blui2-clean-mobile-actions{
    display:none;
}

@media(max-width:1120px){
    .blui2-clean-layout{
        grid-template-columns:minmax(0,1.45fr) minmax(310px,.7fr);
    }

    .blui2-clean-spec-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:940px){
    .blui2-clean-layout{
        grid-template-columns:1fr;
    }

    .blui2-clean-sidebar{
        position:relative;
        top:auto;
    }
}

@media(max-width:700px){
    .blui2-clean-listing-inner{
        gap:12px;
    }

    .blui2-clean-head{
        flex-direction:column;
        padding:18px;
        border-radius:18px;
    }

    .blui2-clean-head h1{
        font-size:28px;
    }

    .blui2-clean-favourite{
        width:100%;
        justify-content:center;
    }

    .blui2-clean-gallery,
    .blui2-clean-section,
    .blui2-clean-seller-card,
    .blui2-clean-side-card{
        border-radius:18px;
    }

    .blui2-clean-gallery{
        padding:9px;
    }

    .blui2-clean-main-image,
    .blui2-clean-main-image img{
        min-height:300px;
        height:74vw;
    }

    .blui2-clean-section{
        padding:18px;
    }

    .blui2-clean-spec-grid{
        grid-template-columns:1fr 1fr;
    }

    .blui2-clean-mobile-actions{
        position:fixed;
        left:12px;
        right:12px;
        bottom:94px;
        z-index:1450;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        padding:8px;
        border:1px solid var(--bl-line);
        border-radius:18px;
        background:rgba(255,255,255,.96);
        box-shadow:0 18px 50px rgba(17,19,24,.18);
        backdrop-filter:blur(16px);
    }

    .blui2-clean-mobile-actions a{
        min-height:44px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:12px;
        background:#f3f4f6;
        color:#2b2e35;
        font-size:9px;
        font-weight:900;
        text-decoration:none;
    }

    .blui2-clean-mobile-actions a:first-child{
        background:linear-gradient(135deg,var(--bl-orange),var(--bl-orange-2));
        color:#fff;
    }
}

@media(max-width:440px){
    .blui2-clean-spec-grid{
        grid-template-columns:1fr;
    }
}


/* Step 4.6 — final legacy/plugin isolation */
.blui2-clean-listing + .djcf-ad-top,
.blui2-clean-listing + .djcf-ad-top-cat,
.blui2-clean-listing + .djcf-ad-bottom,
.blui2-clean-listing ~ .djcf-ad-top,
.blui2-clean-listing ~ .djcf-ad-top-cat,
.blui2-clean-listing ~ .djcf-ad-bottom{
    display:none!important;
}

.blui2-clean-description-content .buylistas-ai,
.blui2-clean-description-content [class*="buylistas-ai"],
.blui2-clean-description-content [id*="buylistas-ai"],
.blui2-clean-description-content .ai-diagnostics,
.blui2-clean-description-content .ai-suggestions,
.blui2-clean-description-content .duplicate-check,
.blui2-clean-description-content .discover-more{
    display:none!important;
}


/* ==========================================================
   Step 5 — production polish
   ========================================================== */

.blui2-clean-listing-inner{
    gap:14px;
}

.blui2-clean-head{
    padding:20px 24px;
    border-radius:20px;
}

.blui2-clean-head h1{
    font-size:clamp(32px,3.2vw,48px);
}

.blui2-clean-layout{
    grid-template-columns:minmax(0,1.92fr) minmax(330px,.64fr);
    gap:16px;
}

.blui2-clean-main,
.blui2-clean-sidebar{
    gap:14px;
}

.blui2-clean-sidebar{
    top:88px;
}

.blui2-clean-gallery,
.blui2-clean-section,
.blui2-clean-seller-card,
.blui2-clean-side-card{
    border-radius:20px;
    box-shadow:0 14px 42px rgba(17,19,24,.07);
}

.blui2-clean-gallery{
    padding:12px;
}

.blui2-clean-main-image{
    min-height:0;
    height:clamp(480px,52vw,650px);
    background:
        radial-gradient(circle at 50% 45%,#ffffff 0%,#f5f6f8 68%,#eef0f3 100%);
}

.blui2-clean-main-image img{
    width:100%;
    height:100%;
    min-height:0;
    object-fit:contain;
    object-position:center;
    transition:transform .28s ease,opacity .2s ease;
}

.blui2-clean-main-image:hover img{
    transform:scale(1.012);
}

.blui2-clean-thumbnails{
    gap:8px;
    margin-top:10px;
}

.blui2-clean-thumbnails button{
    flex-basis:82px;
    height:64px;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.blui2-clean-thumbnails button:hover{
    transform:translateY(-2px);
    border-color:#ffc28b;
    box-shadow:0 8px 18px rgba(17,19,24,.09);
}

.blui2-clean-section{
    padding:20px 22px;
}

.blui2-clean-section>header{
    margin-bottom:14px;
}

.blui2-clean-section h2,
.blui2-clean-side-card h2{
    font-size:20px;
}

.blui2-clean-spec-grid{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:9px;
}

.blui2-clean-spec-grid>div{
    min-height:68px;
    padding:11px 13px;
    border-radius:13px;
}

.blui2-clean-spec-grid small{
    margin-bottom:4px;
}

.blui2-clean-description-content{
    max-width:920px;
    font-size:13px;
    line-height:1.76;
}

.blui2-clean-seller-card{
    padding:18px;
}

.blui2-clean-price{
    font-size:42px;
}

.blui2-clean-seller{
    margin-top:15px;
    padding:12px;
    border-radius:14px;
}

.blui2-clean-seller img,
.blui2-clean-avatar{
    width:48px;
    height:48px;
    flex-basis:48px;
    border-radius:15px;
}

.blui2-clean-primary,
.blui2-clean-secondary,
.blui2-clean-report,
.blui2-clean-side-card button,
.blui2-clean-form button{
    min-height:46px;
    border-radius:13px;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.blui2-clean-primary:hover,
.blui2-clean-form button:hover{
    transform:translateY(-1px);
    box-shadow:0 15px 30px rgba(255,122,0,.28);
}

.blui2-clean-secondary:hover,
.blui2-clean-report:hover,
.blui2-clean-side-card button:hover{
    border-color:#ffbf85;
    color:#d96100!important;
}

.blui2-clean-trust{
    margin-top:14px;
    padding:13px;
    border-radius:13px;
}

.blui2-clean-side-card{
    padding:18px;
}

.blui2-clean-side-card p{
    margin-top:11px;
}

.blui2-clean-map-link{
    margin-top:10px;
}

.blui2-clean-favourite{
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.blui2-clean-favourite:hover{
    transform:translateY(-1px);
    border-color:#ffc28b;
    box-shadow:0 10px 24px rgba(17,19,24,.08);
}

/* Avoid oversized empty-looking sections */
.blui2-clean-section:has(.blui2-clean-spec-grid:only-child),
.blui2-clean-section:has(.blui2-clean-description-content:only-child){
    min-height:0;
}

/* Cleaner footer transition on listing pages */
.blui2-clean-listing{
    padding-bottom:10px;
}

@media(max-width:1200px){
    .blui2-clean-layout{
        grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);
    }

    .blui2-clean-main-image{
        height:clamp(440px,55vw,600px);
    }
}

@media(max-width:940px){
    .blui2-clean-layout{
        grid-template-columns:1fr;
    }

    .blui2-clean-sidebar{
        position:relative;
        top:auto;
    }

    .blui2-clean-main-image{
        height:min(78vw,620px);
    }
}

@media(max-width:700px){
    .blui2-clean-head{
        padding:16px;
    }

    .blui2-clean-head h1{
        font-size:28px;
    }

    .blui2-clean-gallery{
        padding:8px;
    }

    .blui2-clean-main-image{
        height:72vw;
        min-height:280px;
        border-radius:14px;
    }

    .blui2-clean-section{
        padding:16px;
    }

    .blui2-clean-spec-grid{
        grid-template-columns:1fr 1fr;
    }

    .blui2-clean-price{
        font-size:35px;
    }
}

@media(max-width:460px){
    .blui2-clean-spec-grid{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   Step 5.1 — final compact premium finish
   ========================================================== */

.blui2-clean-layout{
    grid-template-columns:minmax(0,2.08fr) minmax(320px,.58fr);
    gap:14px;
}

.blui2-clean-main,
.blui2-clean-sidebar{
    gap:12px;
}

.blui2-clean-gallery{
    padding:10px;
}

.blui2-clean-main-image{
    height:clamp(520px,58vw,720px);
    border-radius:16px;
}

.blui2-clean-main-image img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.blui2-clean-thumbnails{
    margin-top:9px;
}

.blui2-clean-section{
    padding:18px 20px;
}

.blui2-clean-section>header{
    margin-bottom:12px;
}

.blui2-clean-section>header span{
    font-size:8px;
    letter-spacing:.1em;
}

.blui2-clean-section h2,
.blui2-clean-side-card h2{
    font-size:18px;
    font-weight:800;
    letter-spacing:-.018em;
    text-transform:none;
}

.blui2-clean-spec-grid{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.blui2-clean-spec-grid>div{
    min-width:210px;
    min-height:58px;
    flex:0 1 auto;
    padding:9px 12px;
    border-radius:12px;
    background:#fbfbfc;
}

.blui2-clean-spec-grid small{
    font-size:8px;
}

.blui2-clean-spec-grid strong{
    font-size:11px;
}

.blui2-clean-description-content{
    min-height:0;
    max-width:none;
    font-size:13px;
    line-height:1.72;
}

.blui2-clean-description-content p:last-child{
    margin-bottom:0;
}

.blui2-clean-description{
    padding-bottom:17px;
}

.blui2-clean-seller-card{
    padding:16px;
}

.blui2-clean-price{
    font-size:46px;
    margin-bottom:4px;
}

.blui2-clean-seller{
    margin-top:13px;
    padding:11px;
    background:linear-gradient(180deg,#fbfbfc,#f7f8fa);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}

.blui2-clean-seller a,
.blui2-clean-seller strong{
    font-size:12px;
}

.blui2-clean-seller small,
.blui2-clean-seller span{
    font-size:8px;
}

.blui2-clean-primary,
.blui2-clean-secondary,
.blui2-clean-report,
.blui2-clean-side-card button{
    min-height:44px;
    font-size:10px;
}

.blui2-clean-trust{
    font-size:8px;
}

.blui2-clean-side-card{
    padding:16px;
}

.blui2-clean-side-card p{
    font-size:12px;
}

@media(max-width:1200px){
    .blui2-clean-layout{
        grid-template-columns:minmax(0,1.7fr) minmax(300px,.64fr);
    }

    .blui2-clean-main-image{
        height:clamp(460px,60vw,660px);
    }
}

@media(max-width:940px){
    .blui2-clean-layout{
        grid-template-columns:1fr;
    }

    .blui2-clean-main-image{
        height:min(82vw,680px);
    }
}

@media(max-width:700px){
    .blui2-clean-section{
        padding:15px;
    }

    .blui2-clean-spec-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .blui2-clean-spec-grid>div{
        min-width:0;
    }

    .blui2-clean-main-image{
        height:74vw;
    }
}

@media(max-width:460px){
    .blui2-clean-spec-grid{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   Step 5.2 — adaptive marketplace gallery from exact DJCF data
   ========================================================== */

.blui2-clean-gallery{
    overflow:hidden;
}

.blui2-clean-main-image{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#eceff2;
}

.blui2-clean-image-backdrop{
    position:absolute;
    z-index:0;
    inset:-28px;
    background-image:
        linear-gradient(rgba(17,19,24,.18),rgba(17,19,24,.18)),
        var(--blui2-gallery-image);
    background-position:center;
    background-size:cover;
    filter:blur(22px) saturate(.9);
    transform:scale(1.08);
    opacity:.72;
}

.blui2-clean-main-image::after{
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    background:
        linear-gradient(90deg,rgba(17,19,24,.12),transparent 22%,transparent 78%,rgba(17,19,24,.12)),
        linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.05));
    pointer-events:none;
}

.blui2-clean-main-image img{
    position:relative;
    z-index:2;
    max-width:100%;
    object-fit:contain;
    filter:drop-shadow(0 14px 30px rgba(0,0,0,.16));
}

/* Content sections become cleaner and less "template card" like. */
.blui2-clean-section{
    border-radius:16px;
    box-shadow:0 8px 28px rgba(17,19,24,.055);
}

.blui2-clean-section>header{
    padding-bottom:11px;
    border-bottom:1px solid #eceef1;
}

.blui2-clean-spec-grid{
    margin-top:2px;
}

.blui2-clean-spec-grid>div{
    border:0;
    background:#f6f7f9;
}

.blui2-clean-description-content{
    padding-top:1px;
}

@media(max-width:700px){
    .blui2-clean-image-backdrop{
        inset:-18px;
        filter:blur(16px) saturate(.9);
    }
}


/* ==========================================================
   Step 5.3 — final listing visual balance
   ========================================================== */

.blui2-clean-image-backdrop{
    opacity:.48;
    filter:blur(18px) saturate(.82) brightness(1.04);
}

.blui2-clean-main-image::after{
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.18),
            transparent 18%,
            transparent 82%,
            rgba(255,255,255,.18)
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,.04),
            rgba(17,19,24,.025)
        );
}

.blui2-clean-main-image img{
    filter:drop-shadow(0 12px 24px rgba(0,0,0,.12));
}

.blui2-clean-section{
    padding:17px 19px;
}

.blui2-clean-section>header{
    margin-bottom:10px;
    padding-bottom:9px;
}

.blui2-clean-section h2{
    font-size:18px;
    font-weight:750;
    line-height:1.25;
}

.blui2-clean-spec-grid{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(min(100%,220px),1fr)
    );
    gap:8px;
}

.blui2-clean-spec-grid>div{
    min-width:0;
    min-height:56px;
    padding:9px 12px;
    border-radius:11px;
    background:#f7f8fa;
}

.blui2-clean-spec-grid small{
    margin-bottom:3px;
    font-size:8px;
    letter-spacing:.045em;
}

.blui2-clean-spec-grid strong{
    font-size:11px;
    line-height:1.4;
}

.blui2-clean-description{
    padding-top:16px;
    padding-bottom:16px;
}

.blui2-clean-description-content{
    font-size:13px;
    line-height:1.82;
}

.blui2-clean-description-content>*:first-child{
    margin-top:0;
}

.blui2-clean-description-content>*:last-child{
    margin-bottom:0;
}

.blui2-clean-side-card{
    box-shadow:0 10px 32px rgba(17,19,24,.06);
}

.blui2-clean-seller-card{
    box-shadow:0 12px 36px rgba(17,19,24,.075);
}

@media(max-width:700px){
    .blui2-clean-image-backdrop{
        opacity:.40;
        filter:blur(14px) saturate(.8) brightness(1.03);
    }

    .blui2-clean-section{
        padding:15px;
    }

    .blui2-clean-spec-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:460px){
    .blui2-clean-spec-grid{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   Step 5.4 — dynamic sections based on real content
   ========================================================== */

.blui2-clean-spec-section.is-single,
.blui2-clean-spec-section.is-double,
.blui2-clean-description.is-short{
    padding-bottom:14px;
}

.blui2-clean-spec-grid.is-single{
    display:block;
}

.blui2-clean-spec-grid.is-single>div{
    width:max-content;
    min-width:220px;
    max-width:100%;
}

.blui2-clean-spec-grid.is-double{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,260px));
    justify-content:start;
}

.blui2-clean-spec-grid.is-medium{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}

.blui2-clean-spec-grid.is-many{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}

.blui2-clean-spec-section.is-single,
.blui2-clean-spec-section.is-double{
    min-height:0!important;
}

.blui2-clean-description.is-short{
    min-height:0!important;
}

.blui2-clean-description.is-short .blui2-clean-description-content{
    max-width:760px;
    min-height:0;
}

.blui2-clean-description.is-medium .blui2-clean-description-content{
    max-width:900px;
}

.blui2-clean-description.is-long .blui2-clean-description-content{
    max-width:none;
}

.blui2-clean-description-content:empty{
    display:none;
}

.blui2-clean-section{
    min-height:0!important;
}

@media(max-width:700px){
    .blui2-clean-spec-grid.is-double,
    .blui2-clean-spec-grid.is-medium,
    .blui2-clean-spec-grid.is-many{
        grid-template-columns:1fr 1fr;
    }

    .blui2-clean-spec-grid.is-single>div{
        min-width:0;
        width:100%;
    }
}

@media(max-width:460px){
    .blui2-clean-spec-grid.is-double,
    .blui2-clean-spec-grid.is-medium,
    .blui2-clean-spec-grid.is-many{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   Step 5.5 — compact outer sections
   The dynamic classes already exist in PHP. This fixes the
   outer section width, which previously remained 100%.
   ========================================================== */

.blui2-clean-main{
    align-items:stretch;
}

/* One characteristic: compact card, no large empty panel. */
.blui2-clean-spec-section.is-single{
    width:min(100%,430px);
    align-self:flex-start;
}

/* Two characteristics: compact but wide enough for two cards. */
.blui2-clean-spec-section.is-double{
    width:min(100%,650px);
    align-self:flex-start;
}

/* Short description: do not stretch across the entire column. */
.blui2-clean-description.is-short{
    width:min(100%,760px);
    align-self:flex-start;
}

/* Medium and long content continue to use the available width. */
.blui2-clean-spec-section.is-medium,
.blui2-clean-spec-section.is-many,
.blui2-clean-description.is-medium,
.blui2-clean-description.is-long{
    width:100%;
    align-self:stretch;
}

/* Compact visual treatment. */
.blui2-clean-spec-section.is-single,
.blui2-clean-spec-section.is-double,
.blui2-clean-description.is-short{
    padding:16px 18px;
}

.blui2-clean-spec-section.is-single>header,
.blui2-clean-spec-section.is-double>header,
.blui2-clean-description.is-short>header{
    margin-bottom:9px;
    padding-bottom:8px;
}

.blui2-clean-spec-grid.is-single>div{
    width:100%;
    min-width:0;
}

.blui2-clean-description.is-short .blui2-clean-description-content{
    max-width:none;
}

/* Remove any inherited fixed sizing from old component styles. */
.blui2-clean-spec-section,
.blui2-clean-description,
.blui2-clean-spec-grid,
.blui2-clean-description-content{
    height:auto!important;
    max-height:none!important;
}

/* Better rhythm before the footer. */
.blui2-clean-main>section:last-child{
    margin-bottom:0;
}

@media(max-width:940px){
    .blui2-clean-spec-section.is-single,
    .blui2-clean-spec-section.is-double,
    .blui2-clean-description.is-short{
        width:100%;
        align-self:stretch;
    }
}

@media(max-width:700px){
    .blui2-clean-spec-section.is-single,
    .blui2-clean-spec-section.is-double,
    .blui2-clean-description.is-short{
        padding:15px;
    }
}


/* ==========================================================
   Step 5.6 — balanced compact section proportions
   ========================================================== */

/*
 * Keep the compact behaviour, but give the sections enough
 * visual weight so they do not look like tiny cards floating
 * inside a large empty column.
 */
.blui2-clean-spec-section.is-single{
    width:min(100%,680px);
}

.blui2-clean-spec-section.is-double{
    width:min(100%,820px);
}

.blui2-clean-description.is-short{
    width:min(100%,940px);
}

/* Make the inner content use the full available section width. */
.blui2-clean-spec-grid.is-single>div,
.blui2-clean-spec-grid.is-double>div{
    width:100%;
}

.blui2-clean-description.is-short .blui2-clean-description-content{
    width:100%;
}

/* The divider line now ends with the actual compact section. */
.blui2-clean-spec-section.is-single>header,
.blui2-clean-spec-section.is-double>header,
.blui2-clean-description.is-short>header{
    width:100%;
}

/* Slightly stronger rhythm without increasing height. */
.blui2-clean-spec-section.is-single,
.blui2-clean-spec-section.is-double,
.blui2-clean-description.is-short{
    padding-left:20px;
    padding-right:20px;
}

@media(max-width:1100px){
    .blui2-clean-spec-section.is-single{
        width:min(100%,620px);
    }

    .blui2-clean-spec-section.is-double{
        width:min(100%,760px);
    }

    .blui2-clean-description.is-short{
        width:min(100%,860px);
    }
}

@media(max-width:940px){
    .blui2-clean-spec-section.is-single,
    .blui2-clean-spec-section.is-double,
    .blui2-clean-description.is-short{
        width:100%;
    }
}

@media(max-width:700px){
    .blui2-clean-spec-section.is-single,
    .blui2-clean-spec-section.is-double,
    .blui2-clean-description.is-short{
        padding-left:15px;
        padding-right:15px;
    }
}


/* ==========================================================
   Phase 6.1 — Premium Gallery
   ========================================================== */

.blui2-clean-main-image{
    cursor:zoom-in;
}

.blui2-clean-main-image::before{
    content:"⛶";
    position:absolute;
    z-index:4;
    right:14px;
    top:14px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.55);
    border-radius:13px;
    background:rgba(17,19,24,.48);
    color:#fff;
    font-size:18px;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
    backdrop-filter:blur(10px);
    transition:transform .18s ease,background .18s ease;
}

.blui2-clean-main-image:hover::before{
    transform:scale(1.05);
    background:rgba(17,19,24,.64);
}

.blui2-clean-thumbnails{
    scrollbar-width:thin;
    scroll-snap-type:x proximity;
}

.blui2-clean-thumbnails button{
    scroll-snap-align:start;
}

.blui2-clean-thumbnails button:focus-visible,
.blui2-lightbox button:focus-visible{
    outline:3px solid rgba(255,122,0,.42);
    outline-offset:3px;
}

/* Fullscreen lightbox */
.blui2-lightbox{
    position:fixed;
    inset:0;
    z-index:99999;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    padding:28px;
    background:rgba(8,9,12,.94);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
    backdrop-filter:blur(18px);
}

.blui2-lightbox.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.blui2-lightbox-stage{
    min-width:0;
    margin:0;
}

.blui2-lightbox-image-wrap{
    width:min(100%,1500px);
    height:min(82vh,900px);
    display:grid;
    place-items:center;
    margin-inline:auto;
    overflow:hidden;
    border-radius:22px;
    background:
        radial-gradient(circle at center,rgba(255,255,255,.08),rgba(255,255,255,.02));
    cursor:zoom-in;
    touch-action:pan-y;
}

.blui2-lightbox-image-wrap.is-zoomed{
    cursor:zoom-out;
}

.blui2-lightbox-image-wrap img{
    max-width:100%;
    max-height:100%;
    display:block;
    object-fit:contain;
    transform-origin:center center;
    transition:transform .22s ease,opacity .16s ease;
    user-select:none;
    -webkit-user-drag:none;
}

.blui2-lightbox-image-wrap.is-zoomed img{
    transform:scale(1.75);
}

.blui2-lightbox figcaption{
    display:flex;
    justify-content:center;
    gap:12px;
    min-height:26px;
    margin-top:12px;
    color:#d7dae0;
    font-size:12px;
    text-align:center;
}

#blui2-lightbox-counter{
    color:#ff9a3c;
    font-weight:900;
}

.blui2-lightbox-close,
.blui2-lightbox-nav{
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.08);
    color:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,.24);
    backdrop-filter:blur(10px);
    cursor:pointer;
    transition:transform .18s ease,background .18s ease;
}

.blui2-lightbox-close:hover,
.blui2-lightbox-nav:hover{
    transform:scale(1.05);
    background:rgba(255,255,255,.14);
}

.blui2-lightbox-close{
    position:absolute;
    right:22px;
    top:22px;
    width:48px;
    height:48px;
    border-radius:15px;
    font-size:29px;
    line-height:1;
}

.blui2-lightbox-nav{
    width:54px;
    height:74px;
    border-radius:17px;
    font-size:46px;
    line-height:1;
}

body.blui2-lightbox-open{
    overflow:hidden;
}

@media(max-width:900px){
    .blui2-lightbox{
        grid-template-columns:1fr;
        padding:16px;
    }

    .blui2-lightbox-stage{
        grid-row:1;
    }

    .blui2-lightbox-image-wrap{
        height:78vh;
        border-radius:18px;
    }

    .blui2-lightbox-nav{
        position:absolute;
        top:50%;
        width:46px;
        height:62px;
        transform:translateY(-50%);
        border-radius:15px;
        font-size:38px;
    }

    .blui2-lightbox-nav:hover{
        transform:translateY(-50%) scale(1.04);
    }

    .blui2-lightbox-prev{
        left:12px;
    }

    .blui2-lightbox-next{
        right:12px;
    }
}

@media(max-width:700px){
    .blui2-clean-main-image::before{
        width:38px;
        height:38px;
        right:10px;
        top:10px;
        border-radius:12px;
        font-size:16px;
    }

    .blui2-lightbox{
        padding:8px;
    }

    .blui2-lightbox-close{
        right:10px;
        top:10px;
        width:44px;
        height:44px;
    }

    .blui2-lightbox-image-wrap{
        height:82vh;
        border-radius:14px;
    }

    .blui2-lightbox figcaption{
        padding:0 44px;
        font-size:11px;
    }
}


/* ==========================================================
   Phase 6.2 — Sticky Sidebar
   ========================================================== */

.blui2-clean-layout{
    position:relative;
}

.blui2-clean-sidebar{
    position:sticky;
    top:calc(var(--blui2-sticky-top, 88px) + 14px);
    align-self:start;
    max-height:calc(100vh - var(--blui2-sticky-top, 88px) - 28px);
    overflow:auto;
    padding-right:3px;
    scrollbar-width:thin;
    scrollbar-color:rgba(116,121,133,.35) transparent;
    transition:transform .2s ease;
}

.blui2-clean-sidebar::-webkit-scrollbar{
    width:5px;
}

.blui2-clean-sidebar::-webkit-scrollbar-track{
    background:transparent;
}

.blui2-clean-sidebar::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(116,121,133,.35);
}

.blui2-clean-sidebar.is-stuck .blui2-clean-seller-card{
    border-color:rgba(255,122,0,.28);
    box-shadow:
        0 18px 48px rgba(17,19,24,.11),
        0 0 0 1px rgba(255,122,0,.04);
}

.blui2-clean-sidebar.is-stuck .blui2-clean-price{
    text-shadow:0 8px 24px rgba(255,122,0,.10);
}

.blui2-clean-sidebar.is-near-footer{
    transform:translateY(-4px);
}

/* Keep contact actions visually dominant while scrolling. */
.blui2-clean-sidebar.is-stuck .blui2-clean-contact{
    position:relative;
}

.blui2-clean-sidebar.is-stuck .blui2-clean-primary{
    box-shadow:0 14px 30px rgba(255,122,0,.26);
}

/* The sidebar stops naturally at the end of the listing grid,
   so it never overlaps the footer. */
@media(max-width:940px){
    .blui2-clean-sidebar{
        position:relative;
        top:auto;
        max-height:none;
        overflow:visible;
        padding-right:0;
        transform:none!important;
    }

    .blui2-clean-sidebar.is-stuck .blui2-clean-seller-card{
        border-color:var(--bl-line);
        box-shadow:0 12px 36px rgba(17,19,24,.075);
    }
}

@media(prefers-reduced-motion:reduce){
    .blui2-clean-sidebar,
    .blui2-clean-sidebar *{
        transition:none!important;
    }
}


/* ==========================================================
   Phase 6.3 — clean sticky sidebar without inner scroll
   ========================================================== */

.blui2-clean-sidebar{
    position:sticky;
    top:calc(var(--blui2-sticky-top, 88px) + 14px);
    align-self:start;
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
    scrollbar-width:auto;
}

.blui2-clean-sidebar::-webkit-scrollbar{
    display:none;
}

/* Keep only price, seller, contact, trust and report in sidebar. */
.blui2-clean-seller-card{
    margin:0;
}

/* Secondary content moved below the description. */
.blui2-clean-extra-section{
    width:100%;
}

.blui2-clean-extra-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.blui2-clean-extra-card{
    min-height:150px;
    display:flex;
    align-items:flex-start;
    gap:13px;
    padding:16px;
    border:1px solid var(--bl-line);
    border-radius:15px;
    background:#fafbfc;
}

.blui2-clean-extra-card>span{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#fff2e5;
    font-size:20px;
}

.blui2-clean-extra-card>div{
    min-width:0;
}

.blui2-clean-extra-card small,
.blui2-clean-extra-card strong{
    display:block;
}

.blui2-clean-extra-card small{
    color:var(--bl-muted);
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.blui2-clean-extra-card strong{
    margin-top:4px;
    color:var(--bl-ink);
    font-size:13px;
}

.blui2-clean-extra-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:13px;
}

.blui2-clean-extra-actions button{
    min-height:38px;
    padding:0 12px;
    border:1px solid var(--bl-line);
    border-radius:11px;
    background:#fff;
    color:#2c3038;
    font-size:9px;
    font-weight:850;
    cursor:pointer;
}

.blui2-clean-extra-actions button:hover{
    border-color:#ffbf85;
    color:#d96100;
}

@media(max-width:940px){
    .blui2-clean-sidebar{
        position:relative;
        top:auto;
    }
}

@media(max-width:700px){
    .blui2-clean-extra-grid{
        grid-template-columns:1fr;
    }

    .blui2-clean-extra-card{
        min-height:0;
    }
}


/* ==========================================================
   Phase 7 — Premium Marketplace Polish
   ========================================================== */

.blui2-clean-badges span.is-new{
    background:#eaf8ef;
    color:#12824a;
}

.blui2-clean-head,
.blui2-clean-gallery,
.blui2-clean-section,
.blui2-clean-seller-card,
.blui2-clean-side-card{
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.blui2-clean-head:hover,
.blui2-clean-gallery:hover,
.blui2-clean-section:hover{
    border-color:#dde0e6;
    box-shadow:0 18px 46px rgba(17,19,24,.085);
}

/* Seller Card 2.0 */
.blui2-seller-card-v2{
    position:relative;
    align-items:center;
    gap:14px;
    padding:14px;
    border-color:#e3e6eb;
    background:
        radial-gradient(circle at 90% 10%,rgba(255,122,0,.08),transparent 34%),
        linear-gradient(180deg,#fff,#f8f9fb);
}

.blui2-seller-avatar-wrap{
    position:relative;
    flex:0 0 auto;
}

.blui2-seller-card-v2 img,
.blui2-seller-card-v2 .blui2-clean-avatar{
    width:58px;
    height:58px;
    flex-basis:58px;
    border-radius:18px;
    box-shadow:0 10px 24px rgba(17,19,24,.12);
}

.blui2-seller-online-dot{
    position:absolute;
    right:-2px;
    bottom:-1px;
    width:14px;
    height:14px;
    border:3px solid #fff;
    border-radius:50%;
    background:#27b36a;
    box-shadow:0 4px 10px rgba(39,179,106,.28);
}

.blui2-seller-main{
    min-width:0;
    flex:1 1 auto;
}

.blui2-seller-main small{
    text-transform:uppercase;
    letter-spacing:.06em;
}

.blui2-seller-main a,
.blui2-seller-main strong{
    margin-top:3px;
    font-size:14px;
}

.blui2-seller-status{
    margin-top:3px;
    color:#4e5561!important;
    font-size:9px!important;
}

.blui2-seller-listings{
    margin-top:4px;
    color:#8a909b!important;
    font-size:8px!important;
}

.blui2-seller-profile-link{
    flex:0 0 auto;
    padding:7px 9px;
    border-radius:10px;
    background:#fff;
    color:#d96100!important;
    font-size:9px!important;
    font-weight:900!important;
    box-shadow:0 6px 16px rgba(17,19,24,.06);
}

/* Premium actions */
.blui2-clean-primary{
    min-height:50px;
    letter-spacing:.01em;
}

.blui2-clean-primary::after{
    content:"→";
    margin-left:8px;
    transition:transform .18s ease;
}

.blui2-clean-primary:hover::after{
    transform:translateX(3px);
}

.blui2-clean-report{
    color:#656b76!important;
}

.blui2-clean-report:hover{
    background:#fff8f8!important;
    border-color:#ffc8c8!important;
    color:#bb3838!important;
}

/* Safety checks 2.0 */
.blui2-trust-v2{
    background:linear-gradient(180deg,#f8fbf9,#f4f9f6);
}

.blui2-trust-grid{
    display:grid;
    gap:8px;
    margin-top:2px;
}

.blui2-trust-grid span{
    display:flex;
    align-items:flex-start;
    gap:8px;
    padding:8px 9px;
    border:1px solid rgba(21,154,88,.09);
    border-radius:11px;
    background:rgba(255,255,255,.75);
    color:#5e6570;
    line-height:1.4;
}

.blui2-trust-grid b{
    width:18px;
    height:18px;
    flex:0 0 18px;
    display:grid;
    place-items:center;
    border-radius:6px;
    background:#e6f7ed;
    color:#159a58;
    font-size:10px;
}

/* Useful information polish */
.blui2-clean-extra-section{
    padding:18px 20px;
}

.blui2-clean-extra-grid{
    gap:10px;
}

.blui2-clean-extra-card{
    min-height:126px;
    padding:14px;
    background:
        linear-gradient(180deg,#fbfcfd,#f7f8fa);
}

.blui2-clean-extra-card:hover{
    transform:translateY(-2px);
    border-color:#ffd2aa;
    box-shadow:0 12px 26px rgba(17,19,24,.07);
}

.blui2-clean-map-button{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:12px;
    padding:0 13px;
    border:1px solid #ffc792;
    border-radius:11px;
    background:#fff7ef;
    color:#d85f00!important;
    box-shadow:0 6px 16px rgba(255,122,0,.08);
}

.blui2-clean-map-button:hover{
    transform:translateY(-1px);
    background:#fff1e4;
}

.blui2-clean-extra-actions button{
    min-height:40px;
    padding:0 14px;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.blui2-clean-extra-actions button.is-primary{
    border-color:transparent;
    background:linear-gradient(135deg,var(--bl-orange),var(--bl-orange-2));
    color:#fff;
    box-shadow:0 8px 20px rgba(255,122,0,.18);
}

.blui2-clean-extra-actions button.is-secondary{
    background:#fff;
}

.blui2-clean-extra-actions button:hover{
    transform:translateY(-1px);
}

/* Better characteristics cards */
.blui2-clean-spec-grid>div{
    position:relative;
    overflow:hidden;
}

.blui2-clean-spec-grid>div::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:linear-gradient(180deg,var(--bl-orange),var(--bl-orange-2));
    opacity:.68;
}

.blui2-clean-spec-grid>div:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(17,19,24,.065);
}

/* Softer typography */
.blui2-clean-section h2,
.blui2-clean-side-card h2{
    font-weight:780;
}

.blui2-clean-description-content{
    color:#505762;
}

/* Subtle entrance */
@keyframes blui2FadeUp{
    from{
        opacity:0;
        transform:translateY(8px);
    }
    to{
        opacity:1;
        transform:none;
    }
}

.blui2-clean-head,
.blui2-clean-gallery,
.blui2-clean-section,
.blui2-clean-sidebar{
    animation:blui2FadeUp .42s ease both;
}

.blui2-clean-gallery{animation-delay:.04s}
.blui2-clean-sidebar{animation-delay:.08s}
.blui2-clean-section{animation-delay:.10s}

@media(max-width:700px){
    .blui2-seller-card-v2 img,
    .blui2-seller-card-v2 .blui2-clean-avatar{
        width:54px;
        height:54px;
        flex-basis:54px;
    }

    .blui2-seller-profile-link{
        display:none;
    }

    .blui2-clean-extra-card{
        min-height:0;
    }
}

@media(prefers-reduced-motion:reduce){
    .blui2-clean-head,
    .blui2-clean-gallery,
    .blui2-clean-section,
    .blui2-clean-sidebar{
        animation:none!important;
    }
}


/* ==========================================================
   Phase 7.1 — Free OpenStreetMap + Leaflet
   ========================================================== */

.blui2-clean-extra-grid:has(.blui2-map-card){
    align-items:stretch;
}

.blui2-map-card{
    min-height:360px;
    display:flex;
    flex-direction:column;
    gap:13px;
}

.blui2-map-card-head{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.blui2-map-card-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#fff2e5;
    font-size:20px;
}

.blui2-map-card-head small,
.blui2-map-card-head strong{
    display:block;
}

.blui2-map-card-head small{
    color:var(--bl-muted);
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.blui2-map-card-head strong{
    margin-top:4px;
    color:var(--bl-ink);
    font-size:13px;
}

.blui2-free-map{
    position:relative;
    z-index:1;
    width:100%;
    min-height:245px;
    flex:1 1 auto;
    overflow:hidden;
    border:1px solid var(--bl-line);
    border-radius:15px;
    background:#edf0f3;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}

.blui2-free-map .leaflet-control-zoom a{
    color:#20232a;
}

.blui2-free-map .leaflet-control-attribution{
    padding:3px 6px;
    background:rgba(255,255,255,.90);
    font-size:9px;
}

.blui2-osm-marker{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:4px solid #fff;
    border-radius:13px 13px 13px 3px;
    background:linear-gradient(135deg,var(--bl-orange),var(--bl-orange-2));
    color:#fff;
    box-shadow:0 10px 24px rgba(17,19,24,.24);
    transform:rotate(-45deg);
}

.blui2-osm-marker span{
    display:block;
    font-size:16px;
    transform:rotate(45deg);
}

.blui2-map-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.blui2-map-actions button,
.blui2-map-actions .blui2-clean-map-button{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0 13px;
    border-radius:11px;
    font-size:9px;
    font-weight:900;
    text-decoration:none!important;
    cursor:pointer;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.blui2-map-actions button{
    border:1px solid var(--bl-line);
    background:#fff;
    color:#343840;
}

.blui2-map-actions button:hover,
.blui2-map-actions .blui2-clean-map-button:hover{
    transform:translateY(-1px);
}

.blui2-map-unavailable{
    margin:2px 0 0;
    padding:12px;
    border-radius:11px;
    background:#f4f5f7;
    color:#747985;
    font-size:10px;
    line-height:1.6;
}

@media(max-width:700px){
    .blui2-map-card{
        min-height:0;
    }

    .blui2-free-map{
        min-height:280px;
    }

    .blui2-map-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .blui2-map-actions button,
    .blui2-map-actions .blui2-clean-map-button{
        width:100%;
    }
}
