/*=========================================
        CATEGORIES SECTION
=========================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#ffffff;
    overflow-x:hidden;
}

/*=========================================
BACKGROUND
=========================================*/

.categories{

    width:100%;
    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:80px 8%;

    position:relative;

    overflow:hidden;

    background:
    radial-gradient(circle at top right,
    rgba(123,47,247,.15),
    transparent 35%),

    radial-gradient(circle at bottom left,
    rgba(168,85,247,.08),
    transparent 35%),

    linear-gradient(
    135deg,
    #ffffff 0%,
    #faf8ff 55%,
    #ffffff 100%);
}

.categories::before{

    content:"";

    position:absolute;

    width:520px;
    height:520px;

    top:-120px;
    right:-120px;

    background:#A855F7;

    opacity:.10;

    border-radius:50%;

    filter:blur(150px);

}

.categories::after{

    content:"";

    position:absolute;

    width:350px;
    height:350px;

    left:-120px;
    bottom:-120px;

    background:#7B2FF7;

    opacity:.08;

    border-radius:50%;

    filter:blur(120px);

}

/*=========================================
CONTAINER
=========================================*/

.categories-container{

    width:100%;
    max-width:1400px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

    position:relative;

    z-index:2;

}

/*=========================================
LEFT
=========================================*/

.categories-badge{

    display:inline-block;

    padding:10px 22px;

    border-radius:50px;

    background:#F3ECFF;

    border:1.5px solid #C084FC;

    color:#6D28D9;

    font-size:14px;

    font-weight:600;

    margin-bottom:25px;

}

.categories-left h2{

    font-size:54px;

    color:#18122B;

    line-height:1.2;

    margin-bottom:22px;

    font-weight:700;

}

.categories-left p{

    color:#666666;

    font-size:18px;

    line-height:1.9;

    margin-bottom:35px;

}

/*=========================================
CATEGORY GRID
=========================================*/
.category-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin-bottom:30px;

}

.category-grid div{

    background:#EEE7FF;
    border:2px solid #7B2FF7;
    border-radius:14px;

    padding:12px 16px;   /* reduced */

    display:flex;
    align-items:center;
    gap:12px;

    color:#2F244D;
    font-size:16px;
    font-weight:600;

    min-height:72px;     /* keeps all cards same height */

    transition:.35s;

    box-shadow:0 8px 20px rgba(123,47,247,.10);

}

.category-grid div:hover{

    transform:translateY(-6px);

    background:#E6DAFF;

    border-color:#5B21B6;

    box-shadow:
    0 18px 45px rgba(123,47,247,.22);

}

.category-grid i{

    width:40px;
    height:40px;

    border-radius:10px;

    background:#7B2FF7;
    color:#fff;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:17px;

    flex-shrink:0;

}

/*=========================================
RIGHT
=========================================*/

.categories-right{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:28px;

    position:relative;

}

.categories-right::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    background:#7B2FF7;

    opacity:.12;

    border-radius:50%;

    filter:blur(140px);

    z-index:-1;

}

/*=========================================
VIDEO
=========================================*/

.video-card{

    width:100%;

    max-width:720px;

    height:460px;

    background:#FCFBFF;

    border:2px solid #5B21B6;

    border-radius:28px;

    padding:10px;

    overflow:hidden;

    box-shadow:
        0 0 12px rgba(102,43,196,.35),
        0 20px 55px rgba(97,40,189,.18);

    transition:.35s;

}

.video-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 0 20px rgba(91,33,182,.45),
        0 30px 70px rgba(123,47,247,.25);

}

.video-card video{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    border-radius:20px;

    background:#000;

}

/*=========================================
BUTTON
=========================================*/

.categories-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    text-decoration:none;

    padding:17px 34px;

    border-radius:50px;

    background:linear-gradient(135deg,#7B2FF7,#5B21B6);

    color:#ffffff;

    font-weight:600;

    transition:.35s;

}

.categories-btn:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(123,47,247,.35);

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:1100px){

.categories{

padding:70px 6%;

}

.categories-container{

grid-template-columns:1fr;

gap:50px;

}

.categories-left{

text-align:center;

}

.category-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.categories{

padding:60px 5%;

}

.categories-left h2{

font-size:40px;

}

.categories-left p{

font-size:16px;

}

.category-grid{

grid-template-columns:1fr;

}

.video-card{

height:320px;

}

}

/*=========================================
BUTTON GROUP
=========================================*/

.categories-buttons{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    margin-top:10px;

}

/* Browse Services Button */

.browse-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:17px 34px;

    border-radius:50px;

    text-decoration:none;

    background:#ffffff;

    color:#7B2FF7;

    border:2px solid #7B2FF7;

    font-weight:600;

    transition:.35s;

}

.browse-btn:hover{

    background:#7B2FF7;

    color:#ffffff;

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(123,47,247,.25);

}

/* Existing Button */

.categories-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:17px 34px;

    border-radius:50px;

    text-decoration:none;

    background:linear-gradient(135deg,#7B2FF7,#5B21B6);

    color:#ffffff;

    font-weight:600;

    transition:.35s;

}

.categories-btn:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(123,47,247,.35);

}

/* Mobile */

@media(max-width:768px){

.categories-buttons{

    flex-direction:column;

    width:100%;

}

.categories-buttons a{

    width:280px;

    justify-content:center;

}

}