/*==================================================
  PRODUCT CATEGORIES
==================================================*/

.cyb-section{
    padding:80px 0;
}

.cyb-section-title{
    text-align:center;
    font-size:42px;
    font-weight:700;
    color:black;
    margin-bottom:15px;
}

.cyb-section-subtitle{
    max-width:760px;
    margin:0 auto 55px;
    text-align:center;
    color:var(--cyb-text-light);
    line-height:1.8;
}

/*==================================================
  CATEGORY GRID
==================================================*/

/* =========================================
   PRODUCT CATEGORY CONTINUOUS SLIDER
========================================= */

.cyb-category-slider{

    width:100%;

    overflow:hidden;

    position:relative;

}


.cyb-category-track{

    display:flex;

    width:max-content;

    gap:24px;

    animation:cybCategorySlide 35s linear infinite;

    will-change:transform;

}


/* CATEGORY CARD */

.cyb-category-track .cyb-category-card{

    flex:0 0 300px;

    width:300px;

    height:auto;

}


/* IMAGE */

.cyb-category-track .cyb-category-image{

    height:220px;

}


/* =========================================
   CONTINUOUS MOVEMENT
========================================= */

@keyframes cybCategorySlide{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(
            calc(-50% - 12px)
        );

    }

}


/* =========================================
   HOVER - USISIMAMISHE SLIDER
========================================= */

.cyb-category-slider:hover
.cyb-category-track{

    animation-play-state:paused;

}


/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

    .cyb-category-slider{

        width:100% !important;

        overflow:hidden !important;

    }


    .cyb-category-track{

        gap:10px !important;

        animation-duration:28s;

    }


    .cyb-category-track
    .cyb-category-card{

        flex:0 0 150px !important;

        width:150px !important;

        border:none !important;

        box-shadow:none !important;

        background:#fff !important;

    }


    .cyb-category-track
    .cyb-category-image{

        width:150px !important;

        height:110px !important;

        background:#fff !important;

    }


    .cyb-category-track
    .cyb-category-image img{

        width:110px !important;

        height:110px !important;

        object-fit:contain !important;

    }


    .cyb-category-track
    .cyb-category-body{

        padding:0 !important;

        text-align:center !important;

    }


    .cyb-category-track
    .cyb-category-title{

        margin:8px 0 0 !important;

        min-height:0 !important;

        font-size:14px !important;

        line-height:1.2 !important;

    }


    .cyb-category-track
    .cyb-category-count,
    .cyb-category-track
    .cyb-category-description,
    .cyb-category-track
    .cyb-category-link{

        display:none !important;

    }

}

/*==================================================
  CATEGORY CARD
==================================================*/

.cyb-category-card{

    display:flex;

    flex-direction:column;

    background:#fff;

     border:1px solid #edf1f5;

    border-radius:14px;

    overflow:hidden;

    text-decoration:none;

    box-shadow:var(--cyb-shadow);

    transition:all .35s ease;

    height:90%;

}

.cyb-category-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(15,23,42,.12);

}

/*==================================================
  CATEGORY IMAGE
==================================================*/

.cyb-category-image{

    height:220px;

    overflow:hidden;

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:0;

}

.cyb-category-image img{

    width:100%;

    height:100%;

    object-fit:contain;

    transition:transform .4s ease;

}

.cyb-category-card:hover .cyb-category-image img{

    transform:scale(1.08);

}

/*==================================================
  BODY
==================================================*/

.cyb-category-body{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:22px;

}

/*==================================================
  TITLE
==================================================*/

.cyb-category-title{

    font-size:20px;

    font-weight:700;

    color: #e50000;

    line-height:1.4;

    min-height:56px;

    margin-bottom:18px;

}

/*==================================================
  PRODUCT COUNT
==================================================*/

.cyb-category-count{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    background:#d40018;

    color:#fff;

    border-radius:30px;

    font-size:13px;

    font-weight:600;

    line-height:1;

    border:none;

}

.cyb-category-card:hover .cyb-category-count{

    background:#FF0800;

}

/*==================================================
  DESCRIPTION
==================================================*/

.cyb-category-description{

    flex:1;

    color:var(--cyb-text-light);

    line-height:1.8;

    margin-bottom:22px;

}

/*==================================================
  LINK
==================================================*/

.cyb-category-link{
    margin-top:0;

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--cyb-primary);

    font-weight:700;

    transition:.30s;

}

.cyb-category-card:hover .cyb-category-link{

    gap:18px;

}

/*==================================================*
*RESPONSIVE*
*==================================================*/

@media(max-width:1200px){

    .cyb-category-grid{
        grid-template-columns:repeat(3,1fr);
    }

}


@media(max-width:768px){

    .cyb-category-grid{

        display:grid !important;

        grid-template-columns:repeat(3,1fr) !important;

        gap:30px 12px !important;

        width:100% !important;

        padding:0 12px !important;

        box-sizing:border-box !important;

    }


    /* CATEGORY CARD */

    .cyb-category-card{

        display:flex !important;

        flex-direction:column !important;

        align-items:center !important;

        justify-content:flex-start !important;

        width:100% !important;

        min-width:0 !important;

        background:#fff !important;

        border:none !important;

        border-radius:0 !important;

        box-shadow:none !important;

        padding:0 !important;

        transform:none !important;

    }


    /* IMAGE */

    .cyb-category-image{

        width:100% !important;

        height:105px !important;

        display:flex !important;

        align-items:center !important;

        justify-content:center !important;

        background:#fff !important;

        padding:0 !important;

        overflow:hidden !important;

    }


    .cyb-category-image img{

        width:100% !important;

        height:100% !important;

        object-fit:contain !important;

        display:block !important;

    }


    /* BODY */

    .cyb-category-body{

        display:block !important;

        width:100% !important;

        padding:0 !important;

        text-align:center !important;

    }


    /* TITLE */

    .cyb-category-title{

        width:100% !important;

        min-height:auto !important;

        margin:12px 0 0 !important;

        padding:0 !important;

        text-align:center !important;

        font-size:16px !important;

        line-height:1.25 !important;

        font-weight:600 !important;

        color:#d40018 !important;

    }


    /* HIDE COUNT */

    .cyb-category-count{

        display:none !important;

    }


    /* HIDE DESCRIPTION */

    .cyb-category-description{

        display:none !important;

    }


    /* HIDE LINK */

    .cyb-category-link{

        display:none !important;

    }

}


@media(max-width:480px){

    /*
     * BADO 3 KWA MSTARI
     * KAMA TRONIC
     */

    .cyb-category-grid{

        grid-template-columns:repeat(3,1fr) !important;

        gap:28px 10px !important;

    }


    .cyb-category-image{

        height:100px !important;

    }


    .cyb-category-title{

        font-size:15px !important;

    }

}

/* =========================================
   MOBILE PRODUCT CATEGORIES
   TRONIC STYLE
========================================= */

@media (max-width:768px){

    .cyb-category-grid{

        display:grid !important;

        grid-template-columns:repeat(3, minmax(0,1fr)) !important;

        column-gap:6px !important;

        row-gap:18px !important;

        width:100% !important;

        padding:0 8px !important;

        margin:0 !important;

        box-sizing:border-box !important;

    }


    .cyb-category-card{

        width:100% !important;

        min-width:0 !important;

        height:auto !important;

        padding:0 !important;

        margin:0 !important;

        border:0 !important;

        background:transparent !important;

        box-shadow:none !important;

    }


    .cyb-category-image{

        width:100% !important;

        height:105px !important;

        margin:0 !important;

        padding:0 !important;

        background:#fff !important;

    }


    .cyb-category-image img{

        width:105px !important;

        height:105px !important;

        max-width:105px !important;

        max-height:105px !important;

        object-fit:contain !important;

        margin:0 !important;

    }


    .cyb-category-body{

        width:100% !important;

        padding:0 !important;

        margin:0 !important;

        text-align:center !important;

    }


    .cyb-category-title{

        width:100% !important;

        min-height:0 !important;

        margin:7px 0 0 !important;

        padding:0 !important;

        font-size:14px !important;

        line-height:1.15 !important;

        text-align:center !important;

    }


    .cyb-category-count,
    .cyb-category-description,
    .cyb-category-link{

        display:none !important;

    }

}


@media (max-width:480px){

    .cyb-category-grid{

        column-gap:4px !important;

        row-gap:14px !important;

        padding:0 6px !important;

    }


    .cyb-category-image{

        height:100px !important;

    }


    .cyb-category-image img{

        width:100px !important;

        height:100px !important;

        max-width:100px !important;

        max-height:100px !important;

    }


    .cyb-category-title{

        margin-top:6px !important;

        font-size:13px !important;

    }

}


    /* HIDE CARD EXTRAS */

    .cyb-category-count,
    .cyb-category-description,
    .cyb-category-link{

        display:none !important;

    }

}


/* =========================================
   SMALL PHONES
========================================= */

@media (max-width:480px){

    .cyb-category-grid{

        grid-template-columns:repeat(3, minmax(0,1fr)) !important;

        column-gap:10px !important;

        row-gap:34px !important;

        padding:0 14px !important;

    }


    .cyb-category-image{

        height:130px !important;

    }


    .cyb-category-image img{

        width:130px !important;

        height:130px !important;

        max-width:130px !important;

        max-height:130px !important;

    }


    .cyb-category-title{

        font-size:10px !important;

        line-height:1.2 !important;

        margin-top:10px !important;

    }

}


@media (max-width:768px){

    .cyb-category-grid{
        row-gap:0 !important;
    }

    .cyb-category-card{
        height:auto !important;
        align-self:start !important;
    }

    .cyb-category-body{
        flex:none !important;
        height:auto !important;
        min-height:0 !important;
    }

    .cyb-category-title{
        min-height:0 !important;
        height:auto !important;
        margin:6px 0 0 !important;
    }

}


@media (max-width:480px){

    .cyb-category-grid{
        row-gap:0 !important;
    }

    .cyb-category-card{
        height:auto !important;
    }

    .cyb-category-title{
        margin:5px 0 0 !important;
    }

}

@media (max-width:768px){

    .cyb-section:has(.cyb-category-grid) .cyb-section-title{
        display:none !important;
    }

}

@media (max-width:768px){

    .cyb-section:has(.cyb-category-grid) .cyb-section-title{
        display:none !important;
    }

    .cyb-section:has(.cyb-category-grid){
        padding-top:115px !important;
    }

}


@media (max-width:768px){

    /* Ondoa nafasi kati ya Categories na Featured Products */

    .cyb-section:has(.cyb-category-grid){
        padding-bottom:0 !important;
        margin-bottom:0 !important;
    }

    .cyb-section:has(.cyb-category-grid)
    + .cyb-section{
        padding-top:0px !important;
        margin-top:0 !important;
    }

}

@media (max-width:768px){

    .cyb-section:has(.cyb-category-grid)
    + .cyb-section
    .cyb-section-header{

        margin-top:0 !important;
        padding-top:0 !important;

    }

}


@media (max-width:768px){

    .cyb-category-card{
        background:#fff !important;
    }

    .cyb-category-image{
        background:#fff !important;
    }

}


/* =========================================
   CATEGORY CARD - SOFT SHADOW
========================================= */

.cyb-category-track .cyb-category-card{

    box-shadow:0 3px 5px rgba(15,23,42,.08) !important;

    border:1px solid #f0f0f0 !important;

    border-radius:12px !important;

}


/* HOVER */

.cyb-category-track .cyb-category-card:hover{

    box-shadow:0 6px 18px rgba(15,23,42,.12) !important;

}

/* =========================================================
   PRODUCT CATEGORY — FULL IMAGE CARD
========================================================= */

.cyb-category-card {
	display: block;

	width: 280px;
	height: 280px;

	flex: 0 0 280px;

	padding: 0;
	margin: 0;

	overflow: hidden;
    border-radius: 14px;
	border-radius: 14px;

	background: #ffffff;

	text-decoration: none;

	box-shadow:
		0 8px 24px rgba(0, 0, 0, 0.08);

	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}


.cyb-category-card:hover {
	transform: translateY(-4px);

	box-shadow:
		0 14px 32px rgba(0, 0, 0, 0.12);
}


/* FULL IMAGE */

.cyb-category-card .cyb-category-image {
	display: block;

	width: 100%;
	height: 100%;

	margin: 0;
	padding: 0;

	object-fit: cover;

	border: 0;

	transition:
		transform 0.35s ease;
}


.cyb-category-card:hover
.cyb-category-image {
	transform: scale(1.03);
}


/* MOBILE */

@media (max-width: 767px) {

	.cyb-category-card {
		width: 280px;
		height: 158px;

		flex: 0 0 280px;
	}

}


@media (max-width: 767px) {

    .cyb-category-card {
        flex: 0 0 48vw !important;
        width: 48vw !important;
        height: 48vw !important;

        padding: 0 !important;
        margin: 0 !important;

        overflow: hidden !important;
    }

    .cyb-category-image {
        width: 100% !important;
        height: 100% !important;

        padding: 0 !important;
        margin: 0 !important;

        overflow: hidden !important;
    }

    .cyb-category-image img {
        display: block !important;

        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain !important;
        object-position: center center !important;
    }

}



/* =========================================================
   FINAL CATEGORY CARD FIX
   MOBILE + DESKTOP
========================================================= */

/* CARD */
.cyb-category-track .cyb-category-card {
    position: relative;

    display: block !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: hidden !important;

    background: #fff !important;
}


/* FULL IMAGE */
.cyb-category-track .cyb-category-card .cyb-category-image {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: hidden !important;
}


/* YOUR 600x600 PHOTOSHOP DESIGN */
.cyb-category-track .cyb-category-card .cyb-category-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;
}


/* REMOVE HTML BODY
   Your category artwork already contains everything */
.cyb-category-track .cyb-category-card .cyb-category-body {
    display: none !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .cyb-category-slider {
        width: 100% !important;
        overflow: hidden !important;
    }

    .cyb-category-track {
        display: flex !important;
        flex-wrap: nowrap !important;

        gap: 10px !important;

        width: max-content !important;

        padding: 0 !important;
        margin: 0 !important;

        overflow-x: hidden !important;
        overflow-y: hidden !important;
    }

    .cyb-category-track .cyb-category-card {
        flex: 0 0 150px !important;

        width: 150px !important;
        height: 150px !important;

        min-width: 150px !important;
        min-height: 150px !important;
        max-height: 150px !important;

        padding: 0 !important;
        margin: 0 !important;

        border-radius: 12px !important;
    }

    .cyb-category-track .cyb-category-image {
        width: 150px !important;
        height: 150px !important;

        padding: 0 !important;
        margin: 0 !important;
    }

    .cyb-category-track .cyb-category-image img {
        width: 150px !important;
        height: 150px !important;

        object-fit: contain !important;
        object-position: center !important;
    }

}


/*==================================================
  HOME PAGE
  SOLAR STREET LIGHTS SLIDER ONLY
==================================================*/

.cyb-home-solar-slider {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.cyb-home-solar-track {
    display: flex;
    flex-wrap: nowrap;
    gap: 24px;
    width: max-content;
    transition: none;
    will-change: transform;
}

.cyb-home-solar-slide {
    flex: 0 0 calc((1200px - 72px) / 4);
    width: calc((1200px - 72px) / 4);
}


/*-----------------------------------------------
  MOBILE
-----------------------------------------------*/

@media (max-width: 768px) {

    .cyb-home-solar-track {
        gap: 12px;
    }

    .cyb-home-solar-slide {
        flex: 0 0 calc((100vw - 52px) / 2);
        width: calc((100vw - 52px) / 2);
    }

}

/*-----------------------------------------------
  SMALL MOBILE
-----------------------------------------------*/

@media (max-width: 480px) {

    .cyb-home-solar-slide {
        flex: 0 0 calc(100vw - 40px);
        width: calc(100vw - 40px);
    }

}

@media (max-width: 768px) {

    .cyb-home-solar-track {
        gap: 12px;
    }

    .cyb-home-solar-slide {
        flex: 0 0 calc((100vw - 52px) / 2);
        width: calc((100vw - 52px) / 2);
    }

    .cyb-home-solar-slide .cyb-product-card {
        width: 100%;
    }

    .cyb-home-solar-slide .cyb-product-image {
        width: 100%;
        aspect-ratio: 1 / 1;
        height: auto;
        overflow: hidden;
    }

    .cyb-home-solar-slide .cyb-product-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
    }

}


@media (max-width: 768px) {

    .cyb-home-solar-slide .cyb-product-image {
        width: 100%;
        aspect-ratio: 1 / 1;
        height: auto;
        overflow: hidden;
        padding: 0 !important;
    }

    .cyb-home-solar-slide .cyb-product-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block;
        transform: scale(1.08);
    }

}