/* =========================
   Materials page only
   ========================= */

.materialsPage{
    padding: 22px 0 34px;
}

/* top */
.materialsTop{
    padding: 10px 0 14px;
}
.materialsTop h1{
    margin: 0 0 8px;
    font-size: clamp(26px, 2.6vw, 34px);
    letter-spacing: -0.02em;
}
.materialsTop p{
    margin: 0;
    max-width: 70ch;
}

/* section head */
.materialsSection{
    margin-top: 18px;
}
.materialsHead{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap: 14px;
    margin: 10px 0 10px;
}
.materialsTitle{
    margin: 0;
    font-size: clamp(18px, 2vw, 22px);
}
.materialsHint{
    font-size: 13px;
    opacity: .7;
    white-space: nowrap;
}

/* ✅ GRID corect: 3 coloane pe desktop */
.materialsGrid{
    display:grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 2 coloane pe tablet */
@media (max-width: 980px){
    .materialsGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 1 coloană pe mobil */
@media (max-width: 620px){
    .materialsHead{ align-items:flex-start; flex-direction:column; }
    .materialsHint{ white-space: normal; }
    .materialsGrid{ grid-template-columns: 1fr; }
}

.matCard{
    border-radius: 18px;
    overflow:hidden;
    background: var(--paper);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 14px 34px rgba(32,28,24,.10);
    min-width: 0;
}

.matMedia{
    position: relative;
    background: rgba(0,0,0,.06);
    /* ✅ NU mai lasăm media să împingă layout */
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.matImg,
.matVid{
    width:100%;
    height:100%;
    display:block;
    object-fit: cover;
}

.matBadge{
    position:absolute;
    top:10px;
    left:10px;
    z-index:2;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:6px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(0,0,0,.08);
    backdrop-filter: blur(8px);
}

.matPh{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color: rgba(0,0,0,.55);
}

.matBody{
    padding: 12px 14px 14px;
}

.matTitle{
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.matDesc{
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:hidden;
}

/* HARD OVERRIDES pentru /materiale */
.materialsPage .materialsGrid{
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
}

@media (max-width: 980px){
    .materialsPage .materialsGrid{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 620px){
    .materialsPage .materialsGrid{
        grid-template-columns: 1fr !important;
    }
}

.materialsPage .matCard{
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;

    border-radius: 18px;
    overflow: hidden;
    background: var(--paper, #fff);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 14px 34px rgba(32,28,24,.10);
}

.materialsPage .matMedia{
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: rgba(0,0,0,.06);
}

.materialsPage .matImg,
.materialsPage .matVid{
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

.materialsPage .matBadge{
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(0,0,0,.08);
    backdrop-filter: blur(8px);
}

.materialsPage .matBody{ padding: 12px 14px 14px; }
.materialsPage .matTitle{ margin: 0 0 6px; font-weight: 900; }
.materialsPage .matDesc{
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* =========================
   VIDEO PLACEHOLDER (Materiale)
   ========================= */

.matVidPh{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background: linear-gradient(135deg, #d8d8d8, #efefef);
    position: relative;
}

/* buton play */
.gPlay{
    width:64px;
    height:64px;
    border-radius:50%;
    background: rgba(0,0,0,.65);
    position: relative;
}

.gPlay::after{
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-45%, -50%);
    border-style: solid;
    border-width: 12px 0 12px 18px;
    border-color: transparent transparent transparent white;
}

/* badge VIDEO */
.matVidPh .pill{
    position:absolute;
    bottom:10px;
    right:10px;
    background: rgba(0,0,0,.65);
    color:#fff;
    font-size:11px;
    font-weight:800;
    padding:4px 8px;
    border-radius:999px;
    letter-spacing:.06em;
}

.matOverlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
}
.matOverlay .pill{
    position:absolute;
    bottom:10px;
    right:10px;
}


