/* ==========================================================
   DIGITAL WITCH LEARNING LIBRARY
   Main Stylesheet
========================================================== */

/* ==========================================================
   VARIABLES
========================================================== */

:root{

    /* Brand */
    --dw-primary:#081B4B;
    --dw-primary-light:#123D9B;
    --dw-primary-dark:#05122F;

    /* Accent */
    --dw-accent:#00C896;
    --dw-accent-hover:#00B080;

    /* Background */
    --dw-bg:#F6F8FC;
    --dw-card:#FFFFFF;
    --dw-border:#E6EAF2;

    /* Text */
    --dw-text:#1E293B;
    --dw-muted:#64748B;

    /* Others */
    --dw-success:#10B981;
    --dw-warning:#F59E0B;

    --radius-lg:22px;
    --radius-md:14px;
    --radius-sm:10px;

    --shadow:0 15px 45px rgba(8,27,75,.08);

}

/* ==========================================================
   GLOBAL
========================================================== */

body{

    background:var(--dw-bg);
    color:var(--dw-text);

}

.dw-container{

    width:min(1200px,92%);
    margin:auto;

}

.dw-section{

    padding:90px 0;

}

h1,h2,h3,h4{

    font-weight:700;
    letter-spacing:-1px;
    color:var(--dw-primary);

}

p{

    color:var(--dw-muted);
    line-height:1.8;

}

/* ==========================================================
   BUTTONS
========================================================== */

.dw-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:16px 28px;

    border-radius:999px;

    text-decoration:none;

    transition:.3s;

    font-weight:600;

}

.dw-btn-primary{

    background:var(--dw-accent);
    color:#fff;

}

.dw-btn-primary:hover{

    background:var(--dw-accent-hover);
    transform:translateY(-2px);

}

.dw-btn-outline{

    border:1px solid #fff;
    color:#fff;

}

.dw-btn-outline:hover{

    background:#fff;
    color:var(--dw-primary);

}

.dw-btn-outline-dark{

    border:1px solid var(--dw-primary);
    color:var(--dw-primary);
    background:#fff;

}

.dw-btn-outline-dark:hover{

    background:var(--dw-primary);
    color:#fff;

}

/* ==========================================================
   SECTION HEADINGS
========================================================== */

.dw-section-title{

    font-size:42px;
    margin-bottom:12px;

}

.dw-section-subtitle{

    max-width:700px;
    margin-bottom:50px;

}

/* ==========================================================
   CATEGORY BUTTONS
========================================================== */

.dw-categories{

    display:flex;
    gap:15px;
    flex-wrap:wrap;

}

.dw-categories button{

    padding:14px 24px;

    border:none;

    border-radius:999px;

    background:#fff;

    color:var(--dw-primary);

    box-shadow:var(--shadow);

    cursor:pointer;

    transition:.3s;

    font-weight:600;

}

.dw-categories button:hover{

    background:var(--dw-primary);

    color:#fff;

}

/* ==========================================================
   FEATURED RECORDINGS
========================================================== */

.dw-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

    gap:35px;

}

.dw-recording-card{

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.35s;

}

.dw-recording-card:hover{

    transform:translateY(-10px);

}

.dw-recording-thumbnail{

    height:220px;

    background:linear-gradient(135deg,#081B4B,#123D9B);

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

}

.dw-play-button{

    width:75px;

    height:75px;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    backdrop-filter:blur(8px);

}

.dw-video-overlay{

    position:absolute;

    left:20px;

    bottom:20px;

    color:#fff;

    font-size:22px;

    font-weight:700;

}

.dw-recording-body{

    padding:28px;

}

.dw-video-title{

    font-size:32px;

    margin-bottom:18px;

}

.dw-meta{

    color:var(--dw-muted);

    margin-bottom:24px;

}

.dw-actions{

    display:flex;

    gap:14px;

}

.dw-actions .dw-btn{

    flex:1;

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:768px){

    .dw-section{

        padding:70px 0;

    }

    .dw-section-title{

        font-size:32px;

    }

    .dw-grid{

        grid-template-columns:1fr;

    }

    .dw-actions{

        flex-direction:column;

    }

}