/* Extracted from resources/views/outlet_details.blade.php. */

:root{
        --ecw-yellow:#F1DF00;
        --ecw-yellow-hover:#FFF018;
        --ecw-black:#050505;
        --ecw-dark:#0B0B0B;
        --ecw-dark-2:#111111;
        --ecw-line:#242424;
        --ecw-white:#FFFFFF;
        --ecw-muted:#A7A7A7;
        --ecw-muted-2:#777777;
    }

    .ecw-outlet-page{
        background:var(--ecw-black);
        color:var(--ecw-white);
        overflow:hidden;
    }

    .ecw-outlet-page *,
    .ecw-outlet-page *::before,
    .ecw-outlet-page *::after{
        box-sizing:border-box;
    }

    .ecw-outlet-page a{
        text-decoration:none;
    }

    .ecw-outlet-hero{
        position:relative;
        padding:62px 0 64px;
        background:
            linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.88) 45%,rgba(0,0,0,.56) 100%),
            radial-gradient(circle at 80% 10%,rgba(241,223,0,.10),transparent 34%),
            #050505;
        border-bottom:1px solid var(--ecw-line);
    }

    .ecw-outlet-hero::after{
        content:"";
        position:absolute;
        right:-140px;
        bottom:-180px;
        width:420px;
        height:420px;
        border:1px solid rgba(241,223,0,.16);
        transform:rotate(45deg);
        pointer-events:none;
    }

    .ecw-breadcrumb{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        gap:8px;
        margin-bottom:36px;
        color:var(--ecw-muted-2);
        font-size:13px;
    }

    .ecw-breadcrumb a{
        color:var(--ecw-muted);
    }

    .ecw-breadcrumb a:hover{
        color:var(--ecw-yellow);
    }

    .ecw-hero-grid{
        display:grid;
        grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
        gap:54px;
        align-items:center;
    }

    .ecw-eyebrow,
    .ecw-section-head>span,
    .ecw-panel-label,
    .ecw-side-cta>span,
    .ecw-final-cta-inner>div>span{
        display:inline-flex;
        align-items:center;
        gap:9px;
        margin-bottom:13px;
        color:var(--ecw-yellow);
        font-size:12px;
        font-weight:800;
        letter-spacing:.13em;
        text-transform:uppercase;
    }

    .ecw-status-dot{
        width:8px;
        height:8px;
        background:var(--ecw-yellow);
        border-radius:50%;
        box-shadow:0 0 0 5px rgba(241,223,0,.12);
    }

    .ecw-hero-copy h1{
        max-width:900px;
        margin:0;
        color:#fff;
        font-size:clamp(38px,5vw,70px);
        font-weight:900;
        line-height:.98;
        letter-spacing:-.04em;
    }

    .ecw-hero-lead{
        max-width:720px;
        margin:24px 0 0;
        color:var(--ecw-muted);
        font-size:17px;
        line-height:1.75;
    }

    .ecw-hero-actions,
    .ecw-final-actions{
        display:flex;
        flex-wrap:wrap;
        gap:10px;
        margin-top:30px;
    }

    .ecw-btn{
        min-height:48px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:9px;
        padding:12px 20px;
        border:1px solid transparent;
        border-radius:4px;
        font-size:14px;
        font-weight:800;
        line-height:1;
        transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
    }

    .ecw-btn:hover{
        transform:translateY(-2px);
    }

    .ecw-btn-primary{
        background:var(--ecw-yellow);
        border-color:var(--ecw-yellow);
        color:#050505;
    }

    .ecw-btn-primary:hover{
        background:var(--ecw-yellow-hover);
        border-color:var(--ecw-yellow-hover);
        color:#050505;
    }

    .ecw-btn-dark{
        background:#111;
        border-color:#292929;
        color:#fff;
    }

    .ecw-btn-dark:hover{
        background:#181818;
        color:var(--ecw-yellow);
    }

    .ecw-btn-outline{
        background:transparent;
        border-color:#383838;
        color:#fff;
    }

    .ecw-btn-outline:hover{
        background:#fff;
        border-color:#fff;
        color:#050505;
    }

    .ecw-btn-light{
        background:#fff;
        border-color:#fff;
        color:#050505;
    }

    .ecw-btn-block{
        width:100%;
    }

    .ecw-trust-row{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        max-width:780px;
        margin-top:38px;
        border-top:1px solid var(--ecw-line);
        border-bottom:1px solid var(--ecw-line);
    }

    .ecw-trust-row>div{
        padding:17px 18px 17px 0;
        border-right:1px solid var(--ecw-line);
    }

    .ecw-trust-row>div:not(:first-child){
        padding-left:18px;
    }

    .ecw-trust-row>div:last-child{
        border-right:0;
    }

    .ecw-trust-row strong,
    .ecw-trust-row span{
        display:block;
    }

    .ecw-trust-row strong{
        color:#fff;
        font-size:15px;
        line-height:1.35;
    }

    .ecw-trust-row span{
        margin-top:4px;
        color:var(--ecw-muted-2);
        font-size:11px;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:.08em;
    }

    .ecw-outlet-photo{
        position:relative;
        margin:0;
        min-height:470px;
        border:1px solid #272727;
        background:#111;
        overflow:hidden;
    }

    .ecw-outlet-photo::before{
        content:"";
        position:absolute;
        left:0;
        top:0;
        z-index:2;
        width:8px;
        height:80px;
        background:var(--ecw-yellow);
    }

    .ecw-outlet-photo img{
        width:100%;
        height:470px;
        object-fit:cover;
        display:block;
        filter:saturate(.95) contrast(1.03);
    }

    .ecw-outlet-photo::after{
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.88) 100%);
    }

    .ecw-outlet-photo figcaption{
        position:absolute;
        z-index:3;
        left:26px;
        right:26px;
        bottom:24px;
    }

    .ecw-outlet-photo figcaption span,
    .ecw-outlet-photo figcaption strong{
        display:block;
    }

    .ecw-outlet-photo figcaption span{
        margin-bottom:5px;
        color:var(--ecw-yellow);
        font-size:11px;
        font-weight:800;
        letter-spacing:.13em;
        text-transform:uppercase;
    }

    .ecw-outlet-photo figcaption strong{
        color:#fff;
        font-size:24px;
        font-weight:900;
    }

    .ecw-info-strip{
        background:var(--ecw-yellow);
        color:#050505;
    }

    .ecw-info-grid{
        display:grid;
        grid-template-columns:1.4fr 1fr 1fr 1.1fr;
    }

    .ecw-info-item{
        min-height:128px;
        display:flex;
        gap:14px;
        align-items:center;
        padding:24px;
        border-right:1px solid rgba(0,0,0,.18);
    }

    .ecw-info-item:first-child{
        padding-left:0;
    }

    .ecw-info-item:last-child{
        border-right:0;
        padding-right:0;
    }

    .ecw-info-icon{
        flex:0 0 42px;
        width:42px;
        height:42px;
        display:grid;
        place-items:center;
        background:#050505;
        color:var(--ecw-yellow);
        border-radius:50%;
        font-size:17px;
    }

    .ecw-info-item small{
        display:block;
        margin-bottom:5px;
        font-size:10px;
        font-weight:900;
        letter-spacing:.11em;
        text-transform:uppercase;
        opacity:.66;
    }

    .ecw-info-item p{
        margin:0;
        color:#050505;
        font-size:13px;
        font-weight:800;
        line-height:1.55;
    }

    .ecw-info-item a{
        color:#050505;
    }

    .ecw-section{
        padding:78px 0;
    }

    .ecw-section-head{
        max-width:790px;
        margin-bottom:34px;
    }

    .ecw-section-head h2{
        margin:0 0 12px;
        color:#fff;
        font-size:clamp(28px,3.4vw,44px);
        font-weight:900;
        line-height:1.08;
        letter-spacing:-.025em;
    }

    .ecw-section-head p{
        margin:0;
        color:var(--ecw-muted);
        font-size:16px;
        line-height:1.75;
    }

    .ecw-section-head-center{
        margin-left:auto;
        margin-right:auto;
        text-align:center;
    }

    .ecw-overview{
        background:#070707;
    }

    .ecw-overview-grid{
        display:grid;
        grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);
        gap:22px;
        align-items:stretch;
    }

    .ecw-map-wrap,
    .ecw-contact-panel,
    .ecw-service-card,
    .ecw-rich-content,
    .ecw-side-cta,
    .ecw-faq-list details,
    .ecw-related-card{
        border:1px solid var(--ecw-line);
        background:var(--ecw-dark);
    }

    .ecw-map-wrap{
        overflow:hidden;
    }

    .ecw-map-wrap iframe{
        width:100%;
        height:520px;
        display:block;
        border:0;
        filter:grayscale(.35) contrast(1.05);
    }

    .ecw-map-footer{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:20px;
        padding:18px 20px;
        border-top:1px solid var(--ecw-line);
    }

    .ecw-map-footer strong,
    .ecw-map-footer span{
        display:block;
    }

    .ecw-map-footer strong{
        color:#fff;
        font-size:15px;
    }

    .ecw-map-footer span{
        margin-top:4px;
        color:var(--ecw-muted);
        font-size:13px;
    }

    .ecw-map-footer a{
        flex:0 0 auto;
        color:var(--ecw-yellow);
        font-size:13px;
        font-weight:800;
    }

    .ecw-contact-panel{
        padding:30px;
    }

    .ecw-contact-panel h2,
    .ecw-side-cta h2{
        margin:0;
        color:#fff;
        font-size:26px;
        font-weight:900;
        line-height:1.16;
    }

    .ecw-contact-list{
        display:grid;
        gap:0;
        margin:26px 0 0;
    }

    .ecw-contact-list>div{
        padding:16px 0;
        border-top:1px solid var(--ecw-line);
    }

    .ecw-contact-list dt{
        display:flex;
        align-items:center;
        gap:8px;
        margin-bottom:6px;
        color:var(--ecw-yellow);
        font-size:11px;
        font-weight:900;
        letter-spacing:.08em;
        text-transform:uppercase;
    }

    .ecw-contact-list dd{
        margin:0;
        color:var(--ecw-muted);
        font-size:14px;
        line-height:1.65;
    }

    .ecw-contact-list a{
        color:#fff;
    }

    .ecw-panel-actions{
        display:grid;
        gap:10px;
        margin-top:24px;
    }

    .ecw-services-section{
        background:#050505;
        border-top:1px solid #121212;
    }

    .ecw-service-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:14px;
    }

    .ecw-service-card{
        position:relative;
        min-height:178px;
        display:grid;
        grid-template-columns:auto 1fr auto;
        gap:15px;
        align-items:start;
        padding:24px;
        color:#fff;
        transition:background .2s ease,border-color .2s ease,transform .2s ease;
    }

    .ecw-service-card:hover{
        background:#121212;
        border-color:#4a4600;
        transform:translateY(-3px);
    }

    .ecw-service-icon{
        width:46px;
        height:46px;
        display:grid;
        place-items:center;
        background:var(--ecw-yellow);
        color:#050505;
        font-size:19px;
    }

    .ecw-service-card h3{
        margin:2px 0 8px;
        color:#fff;
        font-size:18px;
        font-weight:900;
    }

    .ecw-service-card p{
        margin:0;
        color:var(--ecw-muted);
        font-size:13.5px;
        line-height:1.65;
    }

    .ecw-service-arrow{
        color:var(--ecw-muted-2);
        font-size:15px;
    }

    .ecw-content-section{
        background:#080808;
        border-top:1px solid var(--ecw-line);
    }

    .ecw-content-layout{
        display:grid;
        grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);
        gap:24px;
        align-items:start;
    }

    .ecw-rich-content{
        padding:34px;
        color:var(--ecw-muted);
        font-size:16px;
        line-height:1.82;
    }

    .ecw-rich-content h2{
        margin:40px 0 15px;
        padding-top:30px;
        border-top:1px solid var(--ecw-line);
        color:#fff;
        font-size:28px;
        font-weight:900;
        line-height:1.2;
    }

    .ecw-rich-content h2:first-child{
        margin-top:0;
        padding-top:0;
        border-top:0;
    }

    .ecw-rich-content h3{
        margin:24px 0 8px;
        color:var(--ecw-yellow);
        font-size:17px;
        font-weight:900;
    }

    .ecw-rich-content p{
        margin:0 0 15px;
        color:var(--ecw-muted);
    }

    .ecw-rich-content a{
        color:var(--ecw-yellow);
        text-decoration:underline;
        text-underline-offset:3px;
    }

    .ecw-rich-content ul,
    .ecw-rich-content ol{
        padding-left:20px;
    }

    .ecw-side-cta{
        position:sticky;
        top:110px;
        padding:30px;
    }

    .ecw-side-cta p{
        margin:15px 0 24px;
        color:var(--ecw-muted);
        font-size:14px;
        line-height:1.75;
    }

    .ecw-side-cta .ecw-btn + .ecw-btn{
        margin-top:10px;
    }

    .ecw-faq-section{
        background:#050505;
        border-top:1px solid var(--ecw-line);
    }

    .ecw-faq-list{
        max-width:920px;
        margin:0 auto;
        display:grid;
        gap:10px;
    }

    .ecw-faq-list details{
        overflow:hidden;
    }

    .ecw-faq-list summary{
        position:relative;
        display:flex;
        gap:16px;
        align-items:center;
        padding:20px 58px 20px 22px;
        color:#fff;
        cursor:pointer;
        list-style:none;
        font-size:15.5px;
        font-weight:800;
        line-height:1.45;
    }

    .ecw-faq-list summary::-webkit-details-marker{
        display:none;
    }

    .ecw-faq-list summary>span{
        color:var(--ecw-yellow);
        font-size:11px;
        letter-spacing:.08em;
    }

    .ecw-faq-list summary::after{
        content:"+";
        position:absolute;
        right:20px;
        top:50%;
        width:26px;
        height:26px;
        display:grid;
        place-items:center;
        transform:translateY(-50%);
        background:var(--ecw-yellow);
        color:#050505;
        font-size:18px;
        font-weight:900;
    }

    .ecw-faq-list details[open] summary::after{
        content:"−";
    }

    .ecw-faq-answer{
        padding:0 22px 20px 49px;
        color:var(--ecw-muted);
        font-size:14.5px;
        line-height:1.75;
    }

    .ecw-faq-answer a{
        color:var(--ecw-yellow);
    }

    .ecw-related-section{
        background:#080808;
        border-top:1px solid var(--ecw-line);
    }

    .ecw-related-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:14px;
    }

    .ecw-related-card{
        min-height:196px;
        display:flex;
        flex-direction:column;
        padding:24px;
        color:#fff;
        transition:background .2s ease,border-color .2s ease,transform .2s ease;
    }

    .ecw-related-card:hover{
        background:#111;
        border-color:#4a4600;
        transform:translateY(-3px);
    }

    .ecw-related-label{
        align-self:flex-start;
        margin-bottom:18px;
        padding:5px 8px;
        background:var(--ecw-yellow);
        color:#050505;
        font-size:10px;
        font-weight:900;
        letter-spacing:.08em;
        text-transform:uppercase;
    }

    .ecw-related-card h3{
        margin:0 0 8px;
        color:#fff;
        font-size:19px;
        font-weight:900;
    }

    .ecw-related-card p{
        margin:0 0 20px;
        color:var(--ecw-muted);
        font-size:13.5px;
        line-height:1.6;
    }

    .ecw-related-link{
        margin-top:auto;
        color:var(--ecw-yellow);
        font-size:13px;
        font-weight:800;
    }

    .ecw-all-outlets{
        margin-top:24px;
    }

    .ecw-final-cta{
        padding:0 0 76px;
        background:#080808;
    }

    .ecw-final-cta-inner{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:30px;
        padding:36px 40px;
        background:var(--ecw-yellow);
        color:#050505;
    }

    .ecw-final-cta-inner>div>span{
        color:#050505;
        opacity:.65;
    }

    .ecw-final-cta-inner h2{
        margin:0;
        color:#050505;
        font-size:32px;
        font-weight:900;
        line-height:1.12;
    }

    .ecw-final-cta-inner p{
        margin:10px 0 0;
        color:#050505;
        opacity:.72;
        font-size:14px;
    }

    .ecw-final-actions{
        flex:0 0 auto;
        margin-top:0;
    }

    .ecw-mobile-dock{
        display:none;
    }

    @media (max-width:1199px){
        .ecw-hero-grid{
            grid-template-columns:1fr .85fr;
            gap:34px;
        }

        .ecw-info-grid{
            grid-template-columns:repeat(2,1fr);
        }

        .ecw-info-item{
            border-bottom:1px solid rgba(0,0,0,.18);
        }

        .ecw-info-item:nth-child(2){
            border-right:0;
        }

        .ecw-info-item:nth-child(3),
        .ecw-info-item:nth-child(4){
            border-bottom:0;
        }

        .ecw-info-item:first-child,
        .ecw-info-item:last-child{
            padding-left:24px;
            padding-right:24px;
        }
    }

    @media (max-width:991px){
        .ecw-outlet-hero{
            padding-top:42px;
        }

        .ecw-hero-grid,
        .ecw-overview-grid,
        .ecw-content-layout{
            grid-template-columns:1fr;
        }

        .ecw-hero-media{
            order:-1;
        }

        .ecw-outlet-photo,
        .ecw-outlet-photo img{
            min-height:0;
            height:380px;
        }

        .ecw-service-grid,
        .ecw-related-grid{
            grid-template-columns:repeat(2,1fr);
        }

        .ecw-side-cta{
            position:static;
        }

        .ecw-final-cta-inner{
            align-items:flex-start;
            flex-direction:column;
        }
    }

    @media (max-width:767px){
        body{
            padding-bottom:68px;
        }

        .ecw-section{
            padding:58px 0;
        }

        .ecw-info-grid,
        .ecw-service-grid,
        .ecw-related-grid{
            grid-template-columns:1fr;
        }

        .ecw-info-item{
            min-height:0;
            padding:18px 0 !important;
            border-right:0;
            border-bottom:1px solid rgba(0,0,0,.18);
        }

        .ecw-info-item:last-child{
            border-bottom:0;
        }

        .ecw-trust-row{
            grid-template-columns:1fr;
        }

        .ecw-trust-row>div{
            padding:14px 0 !important;
            border-right:0;
            border-bottom:1px solid var(--ecw-line);
        }

        .ecw-trust-row>div:last-child{
            border-bottom:0;
        }

        .ecw-map-footer{
            align-items:flex-start;
            flex-direction:column;
        }

        .ecw-map-wrap iframe{
            height:360px;
        }

        .ecw-final-cta{
            padding-bottom:58px;
        }

        .ecw-final-cta-inner{
            padding:30px 24px;
        }

        .ecw-final-actions{
            width:100%;
        }

        .ecw-final-actions .ecw-btn{
            flex:1;
        }

        .ecw-mobile-dock{
            position:fixed;
            z-index:9999;
            left:0;
            right:0;
            bottom:0;
            display:grid;
            grid-template-columns:repeat(3,1fr);
            background:#050505;
            border-top:1px solid #292929;
            box-shadow:0 -8px 24px rgba(0,0,0,.35);
        }

        .ecw-mobile-dock a{
            min-height:66px;
            display:flex;
            flex-direction:column;
            align-items:center;
            justify-content:center;
            gap:4px;
            color:#fff;
            border-right:1px solid #202020;
            font-size:10px;
            font-weight:800;
        }

        .ecw-mobile-dock a:first-child{
            background:var(--ecw-yellow);
            color:#050505;
        }

        .ecw-mobile-dock a:last-child{
            border-right:0;
        }

        .ecw-mobile-dock i{
            font-size:17px;
        }
    }

    @media (max-width:575px){
        .ecw-outlet-hero{
            padding:28px 0 42px;
        }

        .ecw-breadcrumb{
            margin-bottom:24px;
            font-size:11.5px;
        }

        .ecw-hero-copy h1{
            font-size:36px;
            line-height:1.02;
        }

        .ecw-hero-lead{
            font-size:15px;
        }

        .ecw-hero-actions{
            display:grid;
            grid-template-columns:1fr;
        }

        .ecw-hero-actions .ecw-btn{
            width:100%;
        }

        .ecw-outlet-photo,
        .ecw-outlet-photo img{
            height:300px;
        }

        .ecw-section-head h2{
            font-size:30px;
        }

        .ecw-contact-panel,
        .ecw-rich-content,
        .ecw-side-cta{
            padding:22px;
        }

        .ecw-service-card{
            min-height:0;
            padding:20px;
        }

        .ecw-rich-content{
            font-size:15px;
        }

        .ecw-rich-content h2{
            font-size:24px;
        }

        .ecw-faq-list summary{
            padding-left:18px;
            font-size:14px;
        }

        .ecw-faq-answer{
            padding-left:18px;
        }

        .ecw-final-cta-inner h2{
            font-size:27px;
        }

        .ecw-final-actions{
            display:grid;
            grid-template-columns:1fr;
        }
    }

    @media (prefers-reduced-motion:reduce){
        .ecw-btn,
        .ecw-service-card,
        .ecw-related-card{
            transition:none;
        }

        .ecw-btn:hover,
        .ecw-service-card:hover,
        .ecw-related-card:hover{
            transform:none;
        }
    }


    /* Reference-style outlet studio panel */
    .ecw-studio-panel p{margin:14px 0 20px}
    .ecw-studio-details{display:grid;gap:8px;margin:18px 0}
    .ecw-studio-details>div{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:12px;background:#121212;border:1px solid #242424}
    .ecw-studio-details>div>i{width:32px;height:32px;display:grid;place-items:center;background:#050505;color:var(--ecw-yellow);font-size:12px}
    .ecw-studio-details p{margin:0!important;color:#d2d2d2!important;font-size:12px!important;line-height:1.55!important}
    .ecw-studio-details small{display:block;margin-bottom:3px;color:var(--ecw-muted-2);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
    .ecw-studio-details a{color:#fff}

    /* Interactive outlet map */
    .ecw-map-toolbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;background:#101010;border-bottom:1px solid var(--ecw-line)}
    .ecw-map-toolbar strong,.ecw-map-toolbar span{display:block}
    .ecw-map-toolbar strong{color:#fff;font-size:14px;font-weight:900}
    .ecw-map-toolbar>div>span{margin-top:4px;color:var(--ecw-muted-2);font-size:10px}
    .ecw-map-legend{display:flex!important;align-items:center;gap:14px;color:var(--ecw-muted)!important;font-size:10px!important;font-weight:800}
    .ecw-map-legend span{display:flex;align-items:center;gap:6px;margin:0!important;color:var(--ecw-muted)!important}
    .ecw-map-dot{width:9px;height:9px;display:inline-block;border-radius:50%}
    .ecw-map-dot.is-current{background:var(--ecw-yellow)}
    .ecw-map-dot.is-nearby{background:#fff}
    .ecw-map-canvas{width:100%;height:520px;background:#121212}
    .ecw-map-empty{height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center;background:#0d0d0d;color:var(--ecw-muted)}
    .ecw-map-empty i{color:var(--ecw-yellow);font-size:40px}
    .ecw-map-empty strong{color:#fff}
    .ecw-map-empty a{color:var(--ecw-yellow);font-weight:800}

    .ecw-map-pin-shell{background:transparent!important;border:0!important}
    .ecw-map-pin{width:42px;height:42px;display:grid;place-items:center;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);border:4px solid #050505;box-shadow:0 8px 20px rgba(0,0,0,.38)}
    .ecw-map-pin i{transform:rotate(45deg);font-size:17px}
    .ecw-map-pin.is-current{background:var(--ecw-yellow);color:#050505}
    .ecw-map-pin.is-nearby{background:#fff;color:#050505}

    .ecw-custom-popup .leaflet-popup-content-wrapper{overflow:hidden;padding:0;border-radius:4px;background:#0b0b0b;color:#fff;box-shadow:0 16px 45px rgba(0,0,0,.42)}
    .ecw-custom-popup .leaflet-popup-content{width:auto!important;margin:0}
    .ecw-custom-popup .leaflet-popup-tip{background:#0b0b0b}
    .ecw-custom-popup .leaflet-popup-close-button{top:8px!important;right:8px!important;z-index:5;width:28px!important;height:28px!important;display:grid!important;place-items:center;border-radius:50%;background:rgba(0,0,0,.78);color:#fff!important;font-size:20px!important;line-height:28px!important}
    .ecw-pin-popup{overflow:hidden;background:#0b0b0b}
    .ecw-pin-image{position:relative;height:150px;overflow:hidden;background:#171717}
    .ecw-pin-image img{width:100%;height:100%;display:block;object-fit:cover}
    .ecw-pin-image span{position:absolute;left:10px;top:10px;padding:5px 8px;background:var(--ecw-yellow);color:#050505;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
    .ecw-pin-body{padding:15px}
    .ecw-pin-body>small{display:block;margin-bottom:5px;color:var(--ecw-yellow);font-size:8px;font-weight:900;letter-spacing:.11em}
    .ecw-pin-body h3{margin:0;color:#fff;font-size:16px;font-weight:900;line-height:1.2}
    .ecw-pin-body>p{display:flex;align-items:flex-start;gap:6px;margin:8px 0 0;color:#b6b6b6;font-size:11px;line-height:1.5}
    .ecw-pin-body>p i{margin-top:2px;color:var(--ecw-yellow)}
    .ecw-pin-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
    .ecw-pin-actions a{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 9px;border:1px solid #303030;background:#151515;color:#fff;font-size:9px;font-weight:900}
    .ecw-pin-actions a:first-child{background:var(--ecw-yellow);border-color:var(--ecw-yellow);color:#050505}
    .ecw-pin-actions a:hover{border-color:var(--ecw-yellow)}
    .leaflet-control-zoom a{background:#0b0b0b!important;border-color:#292929!important;color:#fff!important}
    .leaflet-control-zoom a:hover{background:var(--ecw-yellow)!important;color:#050505!important}
    .leaflet-control-attribution{background:rgba(5,5,5,.82)!important;color:#aaa!important}
    .leaflet-control-attribution a{color:var(--ecw-yellow)!important}

    @media(max-width:767px){
        .ecw-map-toolbar{align-items:flex-start;flex-direction:column}
        .ecw-map-canvas,.ecw-map-empty{height:390px}
    }


    /* ==========================================================
       UI/UX V3 — Outlet Page Refinement
       Keeps the ECW black/yellow visual language while improving
       hierarchy, readability, spacing, responsiveness and touch UX.
    ========================================================== */

    .ecw-outlet-page .container{
        width:min(100% - 40px,1320px);
        max-width:1320px;
        margin-inline:auto;
    }

    .ecw-outlet-hero{
        padding:48px 0 54px;
        background:
            radial-gradient(circle at 82% 30%,rgba(241,223,0,.10),transparent 26%),
            linear-gradient(120deg,#050505 0%,#070707 58%,#0b0b0b 100%);
    }

    .ecw-outlet-hero::before{
        content:"";
        position:absolute;
        inset:0;
        pointer-events:none;
        opacity:.18;
        background-image:
            linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
            linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
        background-size:54px 54px;
        mask-image:linear-gradient(to right,transparent 2%,#000 46%,#000 100%);
    }

    .ecw-breadcrumb{
        position:relative;
        z-index:2;
        margin-bottom:26px;
        font-size:11px;
        font-weight:700;
    }

    .ecw-hero-grid{
        position:relative;
        z-index:2;
        grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
        gap:48px;
    }

    .ecw-hero-copy h1{
        max-width:800px;
        font-size:clamp(40px,4.55vw,66px);
        line-height:1.01;
        letter-spacing:-.045em;
        text-wrap:balance;
    }

    .ecw-hero-lead{
        max-width:690px;
        margin-top:18px;
        font-size:15px;
        line-height:1.72;
    }

    .ecw-hero-actions{
        margin-top:24px;
    }

    .ecw-btn{
        min-height:46px;
        padding:12px 18px;
        border-radius:2px;
        font-size:12px;
        letter-spacing:.01em;
    }

    .ecw-trust-row{
        max-width:690px;
        margin-top:28px;
    }

    .ecw-trust-row>div{
        padding-top:14px;
        padding-bottom:14px;
    }

    .ecw-trust-row strong{
        font-size:13px;
    }

    .ecw-outlet-photo,
    .ecw-outlet-photo img{
        height:410px;
        min-height:410px;
    }

    .ecw-outlet-photo{
        border-color:#353535;
        box-shadow:0 22px 65px rgba(0,0,0,.4);
    }

    .ecw-outlet-photo::before{
        width:6px;
        height:72px;
    }

    .ecw-outlet-photo figcaption{
        left:22px;
        right:22px;
        bottom:20px;
    }

    .ecw-outlet-photo figcaption strong{
        font-size:21px;
    }

    /* Compact quick information: easier to scan than the former tall strip. */
    .ecw-info-strip{
        position:relative;
        z-index:4;
        background:var(--ecw-yellow);
        box-shadow:0 10px 30px rgba(0,0,0,.16);
    }

    .ecw-info-item{
        min-height:94px;
        padding:16px 22px;
    }

    .ecw-info-icon{
        width:36px;
        height:36px;
        flex-basis:36px;
        font-size:14px;
    }

    .ecw-info-item small{
        font-size:9px;
    }

    .ecw-info-item p{
        font-size:11.5px;
        line-height:1.5;
    }

    /* Section navigation gives users a fast way to jump through a long local SEO page. */
    .ecw-page-nav{
        position:sticky;
        top:0;
        z-index:110;
        background:rgba(5,5,5,.96);
        border-bottom:1px solid var(--ecw-line);
        backdrop-filter:blur(12px);
    }

    .ecw-page-nav-inner{
        min-height:58px;
        display:flex;
        align-items:center;
        gap:4px;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .ecw-page-nav-inner::-webkit-scrollbar{
        display:none;
    }

    .ecw-page-nav a{
        position:relative;
        min-height:58px;
        display:inline-flex;
        flex:0 0 auto;
        align-items:center;
        gap:8px;
        padding:0 16px;
        color:#aaa;
        font-size:11px;
        font-weight:800;
        white-space:nowrap;
        transition:color .2s ease,background .2s ease;
    }

    .ecw-page-nav a::after{
        content:"";
        position:absolute;
        left:16px;
        right:16px;
        bottom:0;
        height:2px;
        background:var(--ecw-yellow);
        transform:scaleX(0);
        transform-origin:center;
        transition:transform .2s ease;
    }

    .ecw-page-nav a:hover,
    .ecw-page-nav a.is-active{
        color:#fff;
        background:#0c0c0c;
    }

    .ecw-page-nav a.is-active::after{
        transform:scaleX(1);
    }

    .ecw-page-nav a i{
        color:var(--ecw-yellow);
    }

    .ecw-page-nav .is-action{
        margin-left:auto;
        min-height:38px;
        padding:0 15px;
        background:var(--ecw-yellow);
        color:#050505;
    }

    .ecw-page-nav .is-action i{
        color:#050505;
    }

    .ecw-page-nav .is-action::after{
        display:none;
    }

    /* Section rhythm */
    .ecw-section{
        padding:66px 0;
    }

    .ecw-section-head{
        max-width:720px;
        margin-bottom:26px;
    }

    .ecw-section-head h2{
        font-size:clamp(27px,3vw,39px);
        text-wrap:balance;
    }

    .ecw-section-head p{
        max-width:650px;
        font-size:14px;
        line-height:1.7;
    }

    /* Long-form content: wider readable column + better heading hierarchy. */
    .ecw-content-section{
        background:
            radial-gradient(circle at 10% 15%,rgba(241,223,0,.035),transparent 25%),
            #080808;
    }

    .ecw-content-layout{
        grid-template-columns:minmax(0,1.7fr) minmax(300px,.52fr);
        gap:20px;
    }

    .ecw-rich-content{
        padding:38px 40px;
        font-size:14.5px;
        line-height:1.82;
    }

    .ecw-rich-content>p,
    .ecw-rich-content>ul,
    .ecw-rich-content>ol{
        max-width:82ch;
    }

    .ecw-rich-content h2{
        position:relative;
        margin:34px 0 13px;
        padding:0 0 0 15px;
        border:0;
        color:#fff;
        font-size:25px;
        line-height:1.22;
        letter-spacing:-.02em;
    }

    .ecw-rich-content h2::before{
        content:"";
        position:absolute;
        left:0;
        top:.15em;
        bottom:.15em;
        width:3px;
        background:var(--ecw-yellow);
    }

    .ecw-rich-content h2:first-child{
        padding-left:15px;
    }

    .ecw-rich-content h3{
        margin-top:21px;
        color:var(--ecw-yellow);
        font-size:15px;
    }

    .ecw-rich-content p{
        margin-bottom:13px;
        color:#b0b0b0;
    }

    .ecw-side-cta{
        top:78px;
        padding:24px;
        border-top:3px solid var(--ecw-yellow);
    }

    .ecw-side-cta h2{
        font-size:22px;
    }

    .ecw-side-cta>p{
        margin:11px 0 18px;
        font-size:12px;
    }

    .ecw-studio-details{
        margin:14px 0;
    }

    .ecw-studio-details>div{
        padding:10px;
        background:#101010;
    }

    /* Services: more visual hierarchy with less empty height. */
    .ecw-services-section{
        background:#050505;
    }

    .ecw-service-grid{
        gap:10px;
    }

    .ecw-service-card{
        min-height:142px;
        padding:20px;
        border-color:#202020;
    }

    .ecw-service-icon{
        width:40px;
        height:40px;
        font-size:16px;
    }

    .ecw-service-card h3{
        margin-top:0;
        font-size:15px;
    }

    .ecw-service-card p{
        font-size:11.5px;
        line-height:1.6;
    }

    .ecw-service-card:hover{
        border-color:#5b5400;
        box-shadow:0 12px 35px rgba(0,0,0,.2);
    }

    /* Map section becomes the page's main action area. */
    .ecw-overview{
        background:
            radial-gradient(circle at 75% 45%,rgba(241,223,0,.035),transparent 30%),
            #080808;
    }

    .ecw-overview-grid{
        grid-template-columns:minmax(0,1.62fr) minmax(300px,.48fr);
        gap:18px;
    }

    .ecw-map-toolbar{
        padding:13px 16px;
    }

    .ecw-map-canvas,
    .ecw-map-empty{
        height:560px;
    }

    .ecw-map-footer{
        padding:14px 16px;
    }

    .ecw-contact-panel{
        padding:24px;
        border-top:3px solid var(--ecw-yellow);
    }

    .ecw-contact-panel h2{
        font-size:22px;
    }

    .ecw-contact-list{
        margin-top:18px;
    }

    .ecw-contact-list>div{
        padding:13px 0;
    }

    .ecw-contact-list dd{
        font-size:12px;
    }

    /* FAQ */
    .ecw-faq-list{
        max-width:980px;
        gap:7px;
    }

    .ecw-faq-list details{
        border-color:#202020;
        transition:border-color .2s ease,background .2s ease;
    }

    .ecw-faq-list details[open]{
        border-color:#4d4800;
        background:#0d0d0d;
    }

    .ecw-faq-list summary{
        padding:17px 54px 17px 19px;
        font-size:13px;
    }

    .ecw-faq-list summary::after{
        right:16px;
        width:24px;
        height:24px;
        font-size:15px;
    }

    .ecw-faq-answer{
        padding:0 20px 18px 46px;
        font-size:12.5px;
    }

    /* Related outlets: add images and clearer click affordance. */
    .ecw-related-grid{
        gap:12px;
    }

    .ecw-related-card{
        min-height:0;
        padding:0;
        overflow:hidden;
        border-color:#202020;
    }

    .ecw-related-media{
        position:relative;
        height:160px;
        margin:0;
        overflow:hidden;
        background:#121212;
    }

    .ecw-related-media::after{
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.65) 100%);
    }

    .ecw-related-media img{
        width:100%;
        height:100%;
        display:block;
        object-fit:cover;
        transition:transform .35s ease;
    }

    .ecw-related-card:hover .ecw-related-media img{
        transform:scale(1.035);
    }

    .ecw-related-label{
        position:absolute;
        z-index:2;
        left:12px;
        top:12px;
        margin:0;
    }

    .ecw-related-copy{
        display:flex;
        min-height:132px;
        flex-direction:column;
        padding:16px;
    }

    .ecw-related-copy h3{
        margin:0 0 7px;
        font-size:16px;
    }

    .ecw-related-copy p{
        display:flex;
        align-items:flex-start;
        gap:7px;
        margin:0 0 16px;
        font-size:11.5px;
    }

    .ecw-related-copy p i{
        margin-top:2px;
        color:var(--ecw-yellow);
    }

    .ecw-related-link{
        margin-top:auto;
        font-size:11px;
    }

    /* CTA */
    .ecw-final-cta{
        padding-bottom:64px;
    }

    .ecw-final-cta-inner{
        padding:28px 32px;
    }

    .ecw-final-cta-inner h2{
        font-size:27px;
    }

    .ecw-final-cta-inner p{
        margin-top:7px;
        font-size:12px;
    }

    /* Better focus visibility for keyboard users. */
    .ecw-outlet-page a:focus-visible,
    .ecw-mobile-dock a:focus-visible{
        outline:2px solid #fff;
        outline-offset:3px;
    }

    @media(max-width:1199px){
        .ecw-outlet-page .container{
            width:min(100% - 32px,1140px);
        }

        .ecw-hero-grid{
            grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);
            gap:32px;
        }

        .ecw-hero-copy h1{
            font-size:clamp(38px,5vw,56px);
        }

        .ecw-content-layout{
            grid-template-columns:minmax(0,1.45fr) minmax(285px,.55fr);
        }

        .ecw-overview-grid{
            grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);
        }
    }

    @media(max-width:991px){
        .ecw-page-nav{
            top:0;
        }

        .ecw-page-nav .is-action{
            margin-left:0;
        }

        .ecw-hero-grid{
            grid-template-columns:1fr;
        }

        .ecw-hero-media{
            order:-1;
        }

        .ecw-outlet-photo,
        .ecw-outlet-photo img{
            height:360px;
            min-height:360px;
        }

        .ecw-content-layout,
        .ecw-overview-grid{
            grid-template-columns:1fr;
        }

        .ecw-side-cta{
            position:static;
        }

        .ecw-service-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }

        .ecw-related-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:767px){
        .ecw-outlet-page .container{
            width:min(100% - 24px,720px);
        }

        .ecw-outlet-hero{
            padding:24px 0 36px;
        }

        .ecw-breadcrumb{
            margin-bottom:18px;
            overflow:hidden;
            white-space:nowrap;
            text-overflow:ellipsis;
        }

        .ecw-hero-copy{
            order:1;
        }

        .ecw-hero-media{
            order:2;
            margin-top:6px;
        }

        .ecw-hero-copy h1{
            font-size:clamp(32px,9vw,43px);
            line-height:1.03;
        }

        .ecw-hero-lead{
            font-size:13.5px;
            line-height:1.65;
        }

        .ecw-hero-actions{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }

        .ecw-hero-actions .ecw-btn{
            min-width:0;
            width:100%;
            padding-inline:10px;
        }

        .ecw-hero-actions .ecw-btn:last-child{
            grid-column:1/-1;
        }

        .ecw-trust-row{
            grid-template-columns:repeat(3,minmax(0,1fr));
            margin-top:22px;
        }

        .ecw-trust-row>div{
            padding:11px 8px!important;
            border-right:1px solid var(--ecw-line);
            border-bottom:0;
        }

        .ecw-trust-row>div:last-child{
            border-right:0;
        }

        .ecw-trust-row strong{
            font-size:10.5px;
        }

        .ecw-trust-row span{
            font-size:8px;
        }

        .ecw-outlet-photo,
        .ecw-outlet-photo img{
            height:270px;
            min-height:270px;
        }

        .ecw-info-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }

        .ecw-info-item,
        .ecw-info-item:first-child,
        .ecw-info-item:last-child{
            min-height:86px;
            padding:13px 12px!important;
            border-right:1px solid rgba(0,0,0,.18);
            border-bottom:1px solid rgba(0,0,0,.18);
        }

        .ecw-info-item:nth-child(2n){
            border-right:0;
        }

        .ecw-info-item:nth-last-child(-n+2){
            border-bottom:0;
        }

        .ecw-info-icon{
            width:32px;
            height:32px;
            flex-basis:32px;
            font-size:12px;
        }

        .ecw-info-item p{
            font-size:10px;
        }

        .ecw-page-nav{
            position:relative;
        }

        .ecw-page-nav .container{
            width:100%;
        }

        .ecw-page-nav-inner{
            min-height:52px;
            padding-inline:8px;
        }

        .ecw-page-nav a{
            min-height:52px;
            padding-inline:11px;
            font-size:10px;
        }

        .ecw-page-nav .is-action{
            display:none;
        }

        .ecw-section{
            padding:48px 0;
        }

        .ecw-section-head{
            margin-bottom:20px;
        }

        .ecw-section-head h2{
            font-size:27px;
        }

        .ecw-section-head p{
            font-size:12.5px;
        }

        .ecw-rich-content,
        .ecw-side-cta,
        .ecw-contact-panel{
            padding:20px;
        }

        .ecw-rich-content{
            font-size:13.5px;
            line-height:1.74;
        }

        .ecw-rich-content h2{
            margin-top:28px;
            font-size:21px;
        }

        .ecw-rich-content h3{
            font-size:14px;
        }

        .ecw-service-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
            gap:8px;
        }

        .ecw-service-card{
            min-height:156px;
            grid-template-columns:1fr;
            gap:9px;
            padding:16px;
        }

        .ecw-service-arrow{
            position:absolute;
            right:14px;
            top:14px;
        }

        .ecw-service-card p{
            font-size:10.5px;
        }

        .ecw-map-canvas,
        .ecw-map-empty{
            height:390px;
        }

        .ecw-map-footer{
            align-items:flex-start;
            flex-direction:column;
            gap:9px;
        }

        .ecw-map-toolbar{
            gap:8px;
        }

        .ecw-related-grid{
            grid-template-columns:1fr;
        }

        .ecw-related-card{
            display:grid;
            grid-template-columns:130px 1fr;
        }

        .ecw-related-media{
            height:100%;
            min-height:150px;
        }

        .ecw-related-copy{
            min-height:150px;
            padding:14px;
        }

        .ecw-related-label{
            left:8px;
            top:8px;
            padding:4px 6px;
            font-size:8px;
        }

        .ecw-faq-list summary{
            padding:15px 48px 15px 15px;
            font-size:12px;
        }

        .ecw-faq-answer{
            padding:0 15px 15px 15px;
            font-size:11.5px;
        }

        .ecw-final-cta-inner{
            padding:24px 20px;
        }

        .ecw-final-cta-inner h2{
            font-size:23px;
        }

        .ecw-mobile-dock{
            padding-bottom:env(safe-area-inset-bottom);
        }

        .ecw-mobile-dock a{
            min-height:62px;
        }
    }

    @media(max-width:480px){
        .ecw-outlet-page .container{
            width:min(100% - 20px,460px);
        }

        .ecw-hero-actions{
            grid-template-columns:1fr;
        }

        .ecw-hero-actions .ecw-btn:last-child{
            grid-column:auto;
        }

        .ecw-trust-row{
            grid-template-columns:1fr;
        }

        .ecw-trust-row>div{
            display:grid;
            grid-template-columns:1fr auto;
            align-items:center;
            gap:12px;
            padding:9px 0!important;
            border-right:0;
            border-bottom:1px solid var(--ecw-line);
        }

        .ecw-trust-row>div:last-child{
            border-bottom:0;
        }

        .ecw-trust-row span{
            order:-1;
        }

        .ecw-info-grid{
            grid-template-columns:1fr;
        }

        .ecw-info-item,
        .ecw-info-item:first-child,
        .ecw-info-item:last-child,
        .ecw-info-item:nth-child(2n),
        .ecw-info-item:nth-last-child(-n+2){
            min-height:0;
            padding:11px 0!important;
            border-right:0;
            border-bottom:1px solid rgba(0,0,0,.18);
        }

        .ecw-info-item:last-child{
            border-bottom:0;
        }

        .ecw-service-grid{
            grid-template-columns:1fr;
        }

        .ecw-service-card{
            min-height:0;
            grid-template-columns:40px 1fr;
        }

        .ecw-service-arrow{
            display:none;
        }

        .ecw-related-card{
            grid-template-columns:105px 1fr;
        }

        .ecw-related-media,
        .ecw-related-copy{
            min-height:138px;
        }

        .ecw-map-canvas,
        .ecw-map-empty{
            height:340px;
        }
    }



    /* ==========================================================
       MAP POPUP CARD FIX
       Compact desktop size + responsive tablet/mobile behavior.
    ========================================================== */

    .ecw-custom-popup{
        margin-bottom:18px;
    }

    .ecw-custom-popup .leaflet-popup-content-wrapper{
        width:min(340px,calc(100vw - 34px));
        max-width:340px;
        overflow:hidden;
        padding:0;
        border:1px solid #2b2b2b;
        border-radius:3px;
        background:#090909;
        color:#fff;
        box-shadow:0 18px 48px rgba(0,0,0,.48);
    }

    .ecw-custom-popup .leaflet-popup-content{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
    }

    .ecw-custom-popup .leaflet-popup-tip-container{
        margin-top:-1px;
    }

    .ecw-custom-popup .leaflet-popup-tip{
        background:#090909;
        border-right:1px solid #2b2b2b;
        border-bottom:1px solid #2b2b2b;
    }

    .ecw-custom-popup .leaflet-popup-close-button{
        top:8px!important;
        right:8px!important;
        z-index:10;
        width:28px!important;
        height:28px!important;
        display:grid!important;
        place-items:center;
        padding:0!important;
        border:1px solid rgba(255,255,255,.18);
        border-radius:2px;
        background:rgba(5,5,5,.88);
        color:#fff!important;
        font-size:19px!important;
        font-weight:400!important;
        line-height:1!important;
    }

    .ecw-custom-popup .leaflet-popup-close-button:hover{
        background:var(--ecw-yellow);
        border-color:var(--ecw-yellow);
        color:#050505!important;
    }

    .ecw-pin-popup{
        width:100%;
        overflow:hidden;
        background:#090909;
    }

    .ecw-pin-image{
        position:relative;
        height:126px;
        overflow:hidden;
        background:#151515;
    }

    .ecw-pin-image::after{
        content:"";
        position:absolute;
        inset:0;
        pointer-events:none;
        background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.34) 100%);
    }

    .ecw-pin-image img{
        width:100%;
        height:100%;
        display:block;
        object-fit:cover;
        object-position:center;
    }

    .ecw-pin-image span{
        position:absolute;
        z-index:2;
        left:10px;
        top:10px;
        min-height:23px;
        display:inline-flex;
        align-items:center;
        padding:4px 8px;
        border-radius:1px;
        background:var(--ecw-yellow);
        color:#050505;
        font-size:8px;
        font-weight:950;
        letter-spacing:.09em;
        line-height:1;
        text-transform:uppercase;
    }

    .ecw-pin-body{
        padding:13px 14px 14px;
    }

    .ecw-pin-body>small{
        display:block;
        margin:0 0 5px;
        color:var(--ecw-yellow);
        font-size:7.5px;
        font-weight:950;
        letter-spacing:.12em;
        line-height:1.3;
    }

    .ecw-pin-body h3{
        margin:0;
        color:#fff;
        font-size:15px;
        font-weight:900;
        line-height:1.22;
        letter-spacing:-.01em;
        overflow-wrap:anywhere;
    }

    .ecw-pin-body>p{
        display:flex;
        align-items:flex-start;
        gap:6px;
        margin:7px 0 0;
        color:#b8b8b8;
        font-size:10px;
        line-height:1.45;
    }

    .ecw-pin-body>p i{
        flex:0 0 auto;
        margin-top:2px;
        color:var(--ecw-yellow);
        font-size:10px;
    }

    .ecw-pin-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
        margin-top:11px;
    }

    .ecw-pin-actions a{
        min-width:0;
        min-height:34px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:5px;
        padding:7px 8px;
        overflow:hidden;
        border:1px solid #313131;
        border-radius:1px;
        background:#151515;
        color:#fff;
        font-size:9px;
        font-weight:900;
        line-height:1.15;
        text-align:center;
        white-space:nowrap;
        text-overflow:ellipsis;
    }

    .ecw-pin-actions a:first-child{
        background:var(--ecw-yellow);
        border-color:var(--ecw-yellow);
        color:#050505;
    }

    .ecw-pin-actions a:nth-child(3){
        grid-column:1/-1;
    }

    .ecw-pin-actions a:hover{
        border-color:var(--ecw-yellow);
        color:var(--ecw-yellow);
    }

    .ecw-pin-actions a:first-child:hover{
        background:var(--ecw-yellow-hover);
        color:#050505;
    }

    /* Prevent popup card from being hidden behind the map toolbar. */
    .ecw-map-canvas .leaflet-top{
        z-index:600;
    }

    .ecw-map-canvas .leaflet-popup-pane{
        z-index:700;
    }

    @media(max-width:767px){
        .ecw-custom-popup .leaflet-popup-content-wrapper{
            width:min(300px,calc(100vw - 30px));
            max-width:300px;
        }

        .ecw-pin-image{
            height:112px;
        }

        .ecw-pin-body{
            padding:12px;
        }

        .ecw-pin-body h3{
            font-size:14px;
        }

        .ecw-pin-actions a{
            min-height:32px;
            font-size:8.5px;
        }
    }

    @media(max-width:480px){
        .ecw-custom-popup{
            margin-bottom:12px;
        }

        .ecw-custom-popup .leaflet-popup-content-wrapper{
            width:min(270px,calc(100vw - 24px));
            max-width:270px;
        }

        .ecw-custom-popup .leaflet-popup-close-button{
            top:6px!important;
            right:6px!important;
            width:26px!important;
            height:26px!important;
        }

        .ecw-pin-image{
            height:96px;
        }

        .ecw-pin-image span{
            left:8px;
            top:8px;
            min-height:21px;
            padding:4px 6px;
            font-size:7px;
        }

        .ecw-pin-body{
            padding:10px 11px 11px;
        }

        .ecw-pin-body>small{
            font-size:7px;
        }

        .ecw-pin-body h3{
            font-size:13px;
            line-height:1.2;
        }

        .ecw-pin-body>p{
            margin-top:6px;
            font-size:9px;
        }

        .ecw-pin-actions{
            gap:6px;
            margin-top:9px;
        }

        .ecw-pin-actions a{
            min-height:31px;
            padding:6px 5px;
            font-size:8px;
        }
    }
