.elementor-widget-mycolourful_category_group,.elementor-widget-mycolourful_category_group>.elementor-widget-container{width:100%!important;max-width:100%!important;box-sizing:border-box}.mc-cat-section{display:block;width:100%!important;max-width:100%!important;box-sizing:border-box;padding:6px 0 14px;font-family:inherit;color:#102a43}
.mc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}
.mc-cat-title{margin:0!important;font-size:24px!important;line-height:1.2!important;font-weight:600!important;color:#102a43}
.mc-cat-arrows{display:flex;gap:7px}
.mc-cat-arrows button{width:34px;height:34px;border:1px solid #d9e2e8;border-radius:50%;background:#fff;color:#102a43;padding:0;cursor:pointer;font-size:17px;line-height:1}
.mc-cat-arrows button:hover{background:#20afe7;color:#fff;border-color:#20afe7}
.mc-cat-viewport{width:100%;overflow:hidden}
.mc-cat-track{display:flex;gap:24px;width:100%;min-width:0;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:3px 3px 8px;-webkit-overflow-scrolling:touch}
.mc-cat-track::-webkit-scrollbar{display:none}
.mc-cat-card{display:block;flex:0 0 142px;width:142px;text-decoration:none!important;text-align:center;color:#102a43!important}
.mc-cat-image-wrap{display:block;width:100%;height:126px;overflow:hidden;border-radius:50% 50% 18px 18px;background:#f8edf4;margin-bottom:10px;transition:transform .2s ease,box-shadow .2s ease}
.mc-cat-card:hover .mc-cat-image-wrap{transform:translateY(-3px);box-shadow:0 8px 18px rgba(16,42,67,.10)}
.mc-cat-image-wrap img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.mc-cat-name{display:block;font-size:14px;line-height:1.3;font-weight:500}
.mc-cat-count{display:block;margin-top:3px;color:#7a8793;font-size:12px}
.mc-cat-empty{padding:20px;background:#fafafa;color:#666}
.mc-elementor-help{padding:8px 0;font-size:12px;line-height:1.45}
@media(max-width:1024px){.mc-cat-section{padding-left:0;padding-right:0}.mc-cat-title{font-size:22px!important}.mc-cat-track{gap:18px}} @media(max-width:767px){
    .mc-cat-title{font-size:20px!important}
    .mc-cat-arrows{display:none}

    /* Mobile: show exactly 4 category cards in the first row, while keeping
       the strip horizontally scrollable for additional categories. */
    .mc-cat-track{
        gap:10px;
        padding-top:5px;
        padding-bottom:12px;
        padding-left:16px;
        padding-right:16px;
        box-sizing:border-box;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x proximity;
    }

    /* Mobile: four category items fit in the visible row. The row remains horizontally scrollable.
       Keep the category item itself clean; the existing image shape provides the visual card. */
    .mc-cat-card{
        flex:0 0 calc((100% - 30px) / 4)!important;
        width:calc((100% - 30px) / 4)!important;
        min-width:0;
        box-sizing:border-box;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        scroll-snap-align:start;
    }

    .mc-cat-image-wrap{
        width:100%;
        height:auto;
        aspect-ratio:1.13/1;
        margin-bottom:7px;
        border-radius:50% 50% 18px 18px;
        background:#f8edf4;
        overflow:hidden;
    }

    .mc-cat-name{
        font-size:11px;
        line-height:1.2;
        font-weight:600;
        min-height:2.4em;
        display:flex;
        align-items:flex-start;
        justify-content:center;
        text-align:center;
        overflow-wrap:anywhere;
    }

    .mc-cat-count{
        font-size:10px;
    }

    .mc-cat-section.mc-cat-full-width .mc-cat-track{
        padding-left:16px;
        padding-right:16px;
    }
}

/* Full-browser-width mode: intentionally breaks out of a boxed Elementor parent. */
.mc-cat-section.mc-cat-full-width{
    width:100vw!important;
    max-width:100vw!important;
    position:relative;
    left:50%;
    margin-left:-50vw!important;
    box-sizing:border-box;
}
.mc-cat-section.mc-cat-full-width .mc-cat-head,
.mc-cat-section.mc-cat-full-width .mc-cat-viewport{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}
.mc-cat-section.mc-cat-full-width .mc-cat-head{
    padding-left:clamp(18px,3vw,56px);
    padding-right:clamp(18px,3vw,56px);
}
.mc-cat-section.mc-cat-full-width .mc-cat-track{
    padding-left:clamp(18px,3vw,56px);
    padding-right:clamp(18px,3vw,56px);
}
@media(max-width:767px){
    .mc-cat-section.mc-cat-full-width .mc-cat-head,
    .mc-cat-section.mc-cat-full-width .mc-cat-track{
        padding-left:16px;
        padding-right:16px;
    }
}
