/* ==========================================================
   DR. HEIDRICH MEMBER DASHBOARD
   CLEANED & ORGANIZED STYLESHEET
   ========================================================== */

/* ==========================================================
   1. GLOBAL DASHBOARD SAFETY
   ========================================================== */

.custom-member-dashboard,
.custom-member-dashboard * {
    box-sizing: border-box;
}

.custom-member-dashboard {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 1px 10px;
}

.custom-member-dashboard img {
    max-width: 100%;
}

/* ==========================================================
   2. DASHBOARD HERO
   ========================================================== */

.dashboard-hero {
    position: relative;
    width: 100%;
    margin: 0 0 40px;
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at 88% 20%, rgba(201, 152, 43, 0.10), transparent 30%),
        radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.035), transparent 38%),
        linear-gradient(135deg, #061a38 0%, #0a2348 55%, #071b3a 100%);
    box-shadow: 0 18px 45px rgba(7, 27, 58, 0.12);
}

.dashboard-hero::after {
    content: "";
    position: absolute;
    width: 560px;
    height: 560px;
    right: -220px;
    top: -280px;
    border: 1px solid rgba(201, 152, 43, 0.14);
    border-radius: 50%;
    pointer-events: none;
}

.dashboard-hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: clamp(40px, 5vw, 70px);
    min-height: 420px;
    padding: clamp(45px, 5vw, 60px) clamp(40px, 5vw, 70px);
}

.dashboard-hero-profile {
    flex: 0 0 clamp(245px, 26vw, 315px);
    width: clamp(245px, 26vw, 315px);
    height: clamp(245px, 26vw, 315px);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.dashboard-hero-avatar {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid rgba(201, 152, 43, 0.90);
    background: #ffffff;
    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.30),
        0 0 0 8px rgba(255, 255, 255, 0.035);
}

/* Initials fallback when no profile photo exists */
.dashboard-hero-initials {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 8%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.08), transparent 42%),
        rgba(255, 255, 255, 0.025) !important;
    border: 3px solid rgba(201, 152, 43, 0.85) !important;
    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.28),
        0 0 0 8px rgba(255, 255, 255, 0.025) !important;
    color: #d5a12a !important;
    font-size: clamp(125px, 12vw, 175px) !important;
    font-weight: 700 !important;
    line-height: 1;
    letter-spacing: -5px;
    text-transform: uppercase;
    user-select: none;
}

.dashboard-hero-content {
    flex: 1;
    min-width: 0;
    color: #ffffff;
}

.dashboard-hero-eyebrow {
    margin: 0 0 14px;
    color: #d5a12a;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.dashboard-hero-content h1 {
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(42px, 4.5vw, 64px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -1px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.dashboard-hero-content p {
    max-width: 650px;
    margin: 0 0 32px;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(17px, 1.5vw, 20px);
    line-height: 1.7;
}

.dashboard-hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 54px;
    padding: 16px 30px;
    background: #d19a24;
    color: #ffffff !important;
    border-radius: 9px;
    text-decoration: none !important;
    font-size: 16px;
    font-weight: 700;
    transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.dashboard-hero-button:hover {
    background: #b98216;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.20);
}

.dashboard-hero-button span {
    font-size: 21px;
    line-height: 1;
}



/*==================================================
 QUICK NAVIGATION
==================================================*/

.quick-nav-wrapper{

    display:grid;

    grid-template-columns:repeat(6,1fr);

    background:#ffffff;

    border-radius:18px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    overflow:hidden;

    margin:35px 0;

}


.quick-card{

    text-align:center;

    text-decoration:none;

    color:#071B3A;

    padding:28px 22px;

    border-right:1px solid #ECECEC;

    transition:.35s;

    position:relative;

}


.quick-card:last-child{

    border-right:none;

}


.quick-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:3px;

    background:#C9982B;

    transform:scaleX(0);

    transition:.35s;

}


.quick-card:hover{

    transform:translateY(-5px);

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}


.quick-card:hover::before{

    transform:scaleX(1);

}


.quick-icon{

    width:60px;

    height:60px;

    margin:auto;

    border-radius:50%;

    background:#F9F5EC;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#C9982B;

    font-size:26px;

    margin-bottom:18px;

}


.quick-card h4{

    font-size:20px;

    font-weight:600;

    margin:0 0 10px;

    color:#071B3A;

}


.quick-card p{

    margin:0;

    color:#666;

    font-size:14px;

    line-height:1.6;

}


.quick-card:hover h4{

    color:#C9982B;

}


/*========================================

/* ==================================================
   DASHBOARD GRID
================================================== */

.dashboard-grid{
    display:grid;
    grid-template-columns:2fr 1.15fr;
    gap:24px;
    margin-top:28px;
    align-items:stretch;
}

.dashboard-column{
    display:flex;
    flex-direction:column;
    align-self:stretch;
}

.dashboard-column > .dashboard-card{
    display:flex;
    flex-direction:column;
    flex:1;
}

.dashboard-card{
    display:flex;
    flex-direction:column;
    height:100%;
}


/* ==================================================
   CONTINUE LEARNING
================================================== */

.continue-learning-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #ECECEC;
    border-radius:18px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    padding:28px;
    height:100%;
}

.continue-learning-list{
    display:flex;
    flex-direction:column;
    gap:20px;
    flex:1;
}

.course-item{
    display:flex;
    gap:18px;
    background:#fff;
    border:1px solid #ECECEC;
    border-radius:14px;
    padding:18px;
    transition:.3s;
}

.course-item:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.course-image{
    width:135px;
    flex-shrink:0;
}

.course-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:10px;
    display:block;
}

.course-content{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.course-content h3{
    margin:0 0 8px;
    font-size:22px;
    color:#071B3A;
}

.course-content h3 a{
    color:inherit;
    text-decoration:none;
}

.course-subtitle{
    margin:0 0 16px;
    color:#777;
    font-size:14px;
}

.course-progress-bar{
    height:7px;
    background:#E6E6E6;
    border-radius:50px;
    overflow:hidden;
}

.course-progress-bar span{
    display:block;
    height:100%;
    background:#C9982B;
}

.course-progress-text{
    margin-top:8px;
    font-size:13px;
    color:#666;
}

.continue-course-btn{
    margin-top:14px;
    color:#C9982B;
    text-decoration:none;
    font-weight:600;
}

.continue-course-btn:hover{
    color:#071B3A;
}


/* ==================================================
   UPCOMING EVENTS
================================================== */

.upcoming-events-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #ECECEC;
    border-radius:18px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    padding:28px;
    height:100%;
}

.event-list{
    display:flex;
    flex-direction:column;
    gap:20px;
    flex:1;
}

.event-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:18px;
    border:1px solid #ECECEC;
    border-radius:14px;
    background:#fff;
    text-decoration:none;
    color:inherit;
    transition:.3s;
}

.event-item:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.event-date{
    width:65px;
    min-width:65px;
    height:65px;
    border-radius:12px;
    background:#F9F5EC;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.event-day{
    font-size:24px;
    font-weight:700;
    line-height:1;
    color:#071B3A;
}

.event-month{
    margin-top:4px;
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    color:#C9982B;
}

.event-content{
    flex:1;
}

.event-content h4{
    margin:0 0 8px;
    font-size:18px;
    line-height:1.5;
    color:#071B3A;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.event-location{
    margin:0 0 12px;
    font-size:14px;
    color:#888;
}

.event-link{
    color:#C9982B;
    font-weight:600;
    font-size:14px;
}


/* ==================================================
   EMPTY STATE
================================================== */

.dashboard-empty-state{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    min-height:320px;
}

.dashboard-empty-state .empty-icon{
    font-size:48px;
    margin-bottom:20px;
}

.dashboard-empty-state h3{
    margin:0 0 10px;
    color:#071B3A;
}

.dashboard-empty-state p{
    margin:0;
    color:#666;
    max-width:260px;
}


/* ==================================================
   TABLET
================================================== */

@media (max-width:1024px){

    .continue-learning-card,
    .upcoming-events-card{
        height:auto;
    }

    .course-item{
        flex-direction:column;
    }

    .course-image{
        width:100%;
    }

}

/* ==================================================
   DOWNLOADS
================================================== */

.downloads-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #ECECEC;
    border-radius:18px;
    padding:28px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    height:100%;
}

.downloads-list{
    display:flex;
    flex-direction:column;
    gap:18px;
    flex:1;
}

.download-item{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px;
    border:1px solid #ECECEC;
    border-radius:14px;
    transition:.3s;
    background:#fff;
}

.download-item:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.download-icon{
    width:56px;
    height:56px;
    min-width:56px;
    border-radius:12px;
    background:#F9F5EC;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
}

.download-content{
    flex:1;
}

.download-content h4{
    margin:0 0 6px;
    font-size:18px;
    color:#071B3A;
}

.download-content p{
    margin:0;
    color:#777;
    font-size:14px;
}

.download-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    background:#C9982B;
    color:#fff;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.download-btn:hover{
    background:#071B3A;
    color:#fff;
}

@media(max-width:768px){

    .download-item{
        flex-direction:column;
        align-items:flex-start;
    }

    .download-action{
        width:100%;
    }

    .download-btn{
        width:100%;
    }

}

/* ==================================================
   PRODUCTS
================================================== */

.products-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #ECECEC;
    border-radius:18px;
    padding:28px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    height:100%;
}

.products-list{
    display:flex;
    flex-direction:column;
    gap:20px;
    flex:1;
}

.product-item{
    display:flex;
    gap:18px;
    border:1px solid #ECECEC;
    border-radius:14px;
    padding:18px;
    transition:.3s;
    background:#fff;
}

.product-item:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.product-image{
    width:120px;
    min-width:120px;
}

.product-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:10px;
    display:block;
}

.product-content{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.product-content h3{
    margin:0 0 10px;
    font-size:20px;
}

.product-content h3 a{
    color:#071B3A;
    text-decoration:none;
}

.product-price{
    color:#C9982B;
    font-weight:700;
    margin-bottom:16px;
}

.view-product-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    background:#071B3A;
    color:#fff;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    width:max-content;
    transition:.3s;
}

.view-product-btn:hover{
    background:#C9982B;
    color:#fff;
}

@media (max-width:768px){

    .product-item{
        flex-direction:column;
    }

    .product-image{
        width:100%;
    }

    .view-product-btn{
        width:100%;
    }

}

/*==================================================
LATEST NEWS
==================================================*/

.latest-news-card{

    background:#fff;

    border:1px solid #ECECEC;

    border-radius:18px;

    padding:30px;

}

.latest-news-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

}

.latest-news-item{

    display:grid;

    grid-template-columns:120px 1fr;

    gap:18px;

    align-items:center;

    padding:14px 22px;

}

.latest-news-item:not(:last-child){

    border-right:1px solid #ECECEC;

}

.news-thumb{

    width:120px;

    height:90px;

    border-radius:10px;

    overflow:hidden;

}

.news-thumb img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.news-content{

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.news-date{

    font-size:11px;

    font-weight:600;

    color:#9A9A9A;

    text-transform:uppercase;

    margin-bottom:8px;

}

.news-content h3{

    margin:0 0 12px;

    font-size:16px;

    line-height:1.45;

    font-weight:600;

}

.news-content h3 a{

    color:#071B3A;

    text-decoration:none;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

.news-content h3 a:hover{

    color:#C9982B;

}

.read-more{

    color:#C9982B;

    font-size:13px;

    font-weight:600;

    text-decoration:none;

}

.read-more:hover{

    color:#071B3A;

}

@media(max-width:1200px){

.latest-news-grid{

    grid-template-columns:1fr;

}

.latest-news-item{

    border-right:none!important;

    border-bottom:1px solid #ECECEC;

}

.latest-news-item:last-child{

    border-bottom:none;

}

}

@media(max-width:768px){

.latest-news-item{

    grid-template-columns:1fr;

}

.news-thumb{

    width:100%;

    height:180px;

}

}


/* =========================================================
   ALL EVENTS - TUTOR DASHBOARD
========================================================= */

.custom-all-events {
    width: 100%;
}


/* Header */

.all-events-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
}

.all-events-header h3 {
    margin: 0 0 8px;
    color: #071B3A;
    font-size: 30px;
    font-weight: 600;
}

.all-events-header p {
    margin: 0;
    color: #777;
    font-size: 15px;
}


/* Events List */

.all-events-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}


/* Individual Event Card */

.all-event-card {
    display: flex;
    align-items: center;
    gap: 22px;

    width: 100%;

    padding: 20px;

    background: #fff;

    border: 1px solid #ECECEC;

    border-radius: 14px;

    box-sizing: border-box;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.all-event-card:hover {
    transform: translateY(-2px);

    box-shadow: 0 8px 24px rgba(0,0,0,.07);
}


/* Date Box */

.all-event-date {
    width: 82px;
    min-width: 82px;
    height: 82px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    background: #F9F5EC;

    border-radius: 12px;

    text-align: center;
}


.all-event-day {
    display: block;

    color: #071B3A;

    font-size: 28px;

    font-weight: 700;

    line-height: 1;
}


.all-event-month {
    display: block;

    margin-top: 6px;

    color: #C9982B;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 1px;
}


.all-event-year {
    margin-top: 3px;

    color: #999;

    font-size: 11px;
}


/* Event Content */

.all-event-content {
    flex: 1;
    min-width: 0;
}


.all-event-content h4 {
    margin: 0 0 9px;

    font-size: 20px;

    line-height: 1.35;

    font-weight: 600;

    color: #071B3A;
}


.all-event-content h4 a {
    color: inherit;

    text-decoration: none;
}


.all-event-content h4 a:hover {
    color: #C9982B;
}


/* Location */

.all-event-location {
    display: flex;
    align-items: center;

    gap: 6px;

    margin: 0 0 12px;

    color: #777;

    font-size: 14px;
}


.all-event-location .dashicons {
    color: #C9982B;

    font-size: 17px;

    width: 17px;

    height: 17px;
}


/* View Event */

.all-event-button {
    display: inline-block;

    color: #C9982B;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;
}


.all-event-button:hover {
    color: #071B3A;
}


/* Empty State */

.custom-all-events .dashboard-empty-state {
    min-height: 260px;

    background: #fff;

    border: 1px solid #ECECEC;

    border-radius: 14px;

    padding: 40px;
}


/* Tablet */

@media (max-width: 768px) {

    .all-event-card {
        align-items: flex-start;
        padding: 16px;
        gap: 16px;
    }

    .all-event-date {
        width: 70px;
        min-width: 70px;
        height: 70px;
    }

    .all-event-day {
        font-size: 24px;
    }

    .all-event-content h4 {
        font-size: 17px;
    }

}


/* Mobile */

@media (max-width: 480px) {

    .all-event-card {
        gap: 14px;
    }

    .all-event-date {
        width: 62px;
        min-width: 62px;
        height: 62px;
    }

    .all-event-day {
        font-size: 21px;
    }

    .all-event-month {
        font-size: 10px;
    }

    .all-event-year {
        display: none;
    }

    .all-event-content h4 {
        font-size: 16px;
    }

}


/* =========================================
   MAKLERPRIME PRODUCTS
   ========================================= */

.maklerprime-dashboard {
    width: 100%;
}

.maklerprime-title {
    margin: 0 0 8px;
    font-size: 32px;
    font-weight: 600;
    color: #071b3a;
}

.maklerprime-intro {
    margin: 0 0 30px;
    font-size: 16px;
    color: #777;
}

/* Product grid */

.maklerprime-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

/* Product card */

.maklerprime-product-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.maklerprime-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(7, 27, 58, 0.10);
}

/* Image */

.maklerprime-product-image {
    background: #f7f7f7;
    text-align: center;
    padding: 20px;
}

.maklerprime-product-image img {
    width: 100%;
    height: 190px;
    object-fit: contain;
}

/* Content */

.maklerprime-product-content {
    padding: 20px;
}

.maklerprime-product-content h4 {
    margin: 0 0 12px;
    font-size: 19px;
    line-height: 1.35;
    color: #071b3a;
}

.maklerprime-price {
    margin-bottom: 18px;
    color: #c9982b;
    font-weight: 600;
    font-size: 17px;
}

/* Button */

.maklerprime-button {
    display: inline-block;
    padding: 11px 18px;
    background: #c9982b;
    color: #fff !important;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s ease;
}

.maklerprime-button:hover {
    background: #a97912;
    color: #fff !important;
}

/* Empty state */

.maklerprime-empty {
    padding: 40px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
}

.maklerprime-empty h4 {
    margin-top: 0;
    color: #071b3a;
}

/* Mobile */

@media (max-width: 900px) {

    .maklerprime-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 600px) {

    .maklerprime-products-grid {
        grid-template-columns: 1fr;
    }

    .maklerprime-title {
        font-size: 26px;
    }

}

/* =========================================================
   LATEST NEWS
========================================================= */

.latest-news-dashboard {
    width: 100%;
}


/* =========================================================
   HEADER
========================================================= */

.latest-news-header {
    margin-bottom: 28px;
}

.latest-news-header h3 {
    margin: 0 0 8px;

    font-size: 30px;

    line-height: 1.2;

    font-weight: 600;

    color: #071B3A;
}

.latest-news-header p {
    margin: 0;

    color: #777;

    font-size: 15px;

    line-height: 1.6;
}


/* =========================================================
   NEWS GRID
========================================================= */

.latest-news-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 24px;
}


/* =========================================================
   NEWS CARD
========================================================= */

.latest-news-card {
    display: flex;

    min-height: 190px;

    background: #fff;

    border: 1px solid #ECECEC;

    border-radius: 14px;

    overflow: hidden;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.latest-news-card:hover {
    transform: translateY(-3px);

    box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
}


/* =========================================================
   IMAGE
========================================================= */

.latest-news-image {
    width: 38%;

    min-width: 160px;

    overflow: hidden;

    background: #F5F6F8;
}

.latest-news-image a {
    display: block;

    width: 100%;

    height: 100%;
}

.latest-news-image img {
    display: block;

    width: 100%;

    height: 100%;

    min-height: 190px;

    object-fit: cover;
}


/* =========================================================
   CONTENT
========================================================= */

.latest-news-content {
    flex: 1;

    padding: 20px 22px;

    display: flex;

    flex-direction: column;
}


/* =========================================================
   DATE
========================================================= */

.latest-news-date {
    margin-bottom: 8px;

    color: #C9982B;

    font-size: 12px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .6px;
}


/* =========================================================
   TITLE
========================================================= */

.latest-news-title {
    margin: 0 0 10px;

    font-size: 19px;

    line-height: 1.4;

    font-weight: 600;

    color: #071B3A;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;
}

.latest-news-title a {
    color: inherit;

    text-decoration: none;
}

.latest-news-title a:hover {
    color: #C9982B;
}


/* =========================================================
   EXCERPT
========================================================= */

.latest-news-excerpt {
    margin-bottom: 14px;

    color: #666;

    font-size: 14px;

    line-height: 1.55;

    display: -webkit-box;

    -webkit-line-clamp: 3;

    -webkit-box-orient: vertical;

    overflow: hidden;
}


/* =========================================================
   READ MORE
========================================================= */

.latest-news-read-more {
    margin-top: auto;

    color: #C9982B;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;
}

.latest-news-read-more:hover {
    color: #071B3A;
}


/* =========================================================
   EMPTY STATE
========================================================= */

.latest-news-empty {
    min-height: 260px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    text-align: center;

    padding: 40px;

    background: #fff;

    border: 1px solid #ECECEC;

    border-radius: 14px;
}

.latest-news-empty .empty-icon {
    margin-bottom: 15px;

    font-size: 46px;
}

.latest-news-empty h4 {
    margin: 0 0 8px;

    color: #071B3A;

    font-size: 20px;
}

.latest-news-empty p {
    margin: 0;

    color: #777;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .latest-news-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .latest-news-header h3 {
        font-size: 26px;
    }

    .latest-news-card {
        display: block;
    }

    .latest-news-image {
        width: 100%;

        min-width: 0;

        height: 200px;
    }

    .latest-news-image img {
        min-height: 200px;
    }

    .latest-news-content {
        padding: 18px;
    }

}


/* ==========================================================
   9. FINAL RESPONSIVE SYSTEM
   ========================================================== */

/* ---------- Large tablet / small laptop ---------- */
@media (max-width: 1100px) {
    .dashboard-hero-inner {
        gap: 40px;
        min-height: 390px;
        padding: 45px;
    }

    .dashboard-hero-profile {
        flex-basis: 270px;
        width: 270px;
        height: 270px;
    }

    .dashboard-hero-initials {
        font-size: 110px !important;
    }

    .dashboard-hero-content h1 {
        font-size: 46px;
    }

    .dashboard-hero-content p {
        font-size: 17px;
        line-height: 1.65;
    }
}

/* ---------- Tablet ---------- */
@media (max-width: 900px) {
    .custom-member-dashboard {
        padding-left: 8px;
        padding-right: 8px;
    }

    /* Hero: profile first, content second */
    .dashboard-hero {
        border-radius: 22px;
    }

    .dashboard-hero-inner {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: auto;
        gap: 30px;
        padding: 42px 30px;
        text-align: center;
    }

    .dashboard-hero-profile {
        flex: none;
        width: 220px;
        height: 220px;
    }

    .dashboard-hero-initials {
        justify-content: center;
        padding-left: 0;
        font-size: 95px !important;
    }

    .dashboard-hero-content {
        width: 100%;
        max-width: 700px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .dashboard-hero-eyebrow {
        font-size: 14px;
        letter-spacing: 2.5px;
        margin-bottom: 12px;
    }

    .dashboard-hero-content h1 {
        font-size: clamp(36px, 7vw, 48px);
        line-height: 1.15;
        margin-bottom: 16px;
        text-align: center;
    }

    .dashboard-hero-content p {
        max-width: 620px;
        font-size: 16px;
        line-height: 1.65;
        margin-bottom: 26px;
        text-align: center;
    }

    .dashboard-hero-button {
        min-width: 210px;
        padding: 14px 24px;
        font-size: 15px;
    }

    /* Quick navigation: 2 columns */
    .quick-nav-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        margin: 28px 0;
        border-radius: 16px;
    }

    .quick-card,
    .quick-card:nth-child(3n),
    .quick-card:nth-child(n+4) {
        border-right: 1px solid #ECECEC;
        border-bottom: 1px solid #ECECEC;
    }

    .quick-card:nth-child(2n) {
        border-right: none;
    }

    .quick-card:nth-last-child(-n+2) {
        border-bottom: none;
    }

    .quick-card {
        min-width: 0;
        padding: 22px 14px;
    }

    .quick-icon {
        width: 54px;
        min-width: 54px;
        height: 54px;
        font-size: 23px;
        margin-bottom: 14px;
    }

    .quick-card h4 {
        font-size: 17px;
        line-height: 1.3;
    }

    .quick-card p {
        font-size: 13px;
        line-height: 1.5;
    }

    /* Main dashboard becomes one column */
    .dashboard-grid,
    .dashboard-grid-top,
    .dashboard-grid-bottom,
    .dashboard-grid-news {
        grid-template-columns: 1fr !important;
        width: 100%;
        gap: 24px;
    }

    .dashboard-column,
    .dashboard-column-left,
    .dashboard-column-right {
        width: 100%;
        min-width: 0;
        align-self: auto;
    }

    .dashboard-column > .dashboard-card,
    .continue-learning-card,
    .upcoming-events-card,
    .downloads-card,
    .products-card,
    .latest-news-card {
        width: 100%;
        height: auto;
        flex: none;
        padding: 22px;
        border-radius: 16px;
    }

    .course-item {
        flex-direction: row;
        gap: 14px;
        padding: 15px;
    }

    .course-image {
        width: 120px;
        min-width: 120px;
    }

    .course-content h3 {
        font-size: 19px;
        line-height: 1.35;
    }

    .event-item {
        gap: 14px;
        padding: 15px;
    }

    .event-date {
        width: 60px;
        min-width: 60px;
        height: 60px;
    }

    .event-day {
        font-size: 21px;
    }

    .event-month {
        font-size: 10px;
    }

    .event-content h4 {
        font-size: 16px;
        line-height: 1.4;
    }

    .download-item {
        flex-wrap: wrap;
        gap: 14px;
    }

    .download-content {
        min-width: 0;
        flex: 1 1 calc(100% - 75px);
    }

    .download-action {
        width: 100%;
        margin-left: 70px;
    }

    .download-btn {
        width: 100%;
    }

    .products-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .product-item {
        min-width: 0;
    }

    .product-image {
        width: 130px;
        min-width: 130px;
    }

    .latest-news-grid {
        grid-template-columns: 1fr !important;
    }

    .latest-news-item:not(:last-child) {
        border-right: none !important;
        border-bottom: 1px solid #ECECEC;
    }

    .latest-news-item:last-child {
        border-bottom: none;
    }

    .maklerprime-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
    .custom-member-dashboard {
        padding-left: 5px;
        padding-right: 5px;
    }

    .dashboard-hero {
        margin-bottom: 28px;
        border-radius: 18px;
    }

    .dashboard-hero-inner {
        gap: 26px;
        padding: 35px 20px 38px;
    }

    .dashboard-hero-profile {
        width: 180px;
        height: 180px;
    }

    .dashboard-hero-initials {
        font-size: 78px !important;
    }

    .dashboard-hero-eyebrow {
        font-size: 12px;
        letter-spacing: 2px;
    }

    .dashboard-hero-content h1 {
        font-size: clamp(28px, 9vw, 38px);
        line-height: 1.15;
        letter-spacing: -0.5px;
    }

    .dashboard-hero-content p {
        font-size: 15px;
        line-height: 1.6;
        margin-bottom: 24px;
    }

    .dashboard-hero-button {
        width: 100%;
        max-width: 280px;
        min-width: 0;
        padding: 14px 20px;
    }

    /* Quick cards: compact horizontal list */
    .quick-nav-wrapper {
        grid-template-columns: 1fr;
        margin: 24px 0;
        border-radius: 14px;
    }

    .quick-card,
    .quick-card:nth-child(2n),
    .quick-card:nth-child(3n),
    .quick-card:nth-child(n+4),
    .quick-card:nth-last-child(-n+2) {
        display: flex;
        align-items: center;
        text-align: left;
        gap: 15px;
        padding: 16px 18px;
        border-right: none;
        border-bottom: 1px solid #ECECEC;
    }

    .quick-card:last-child {
        border-bottom: none;
    }

    .quick-icon {
        width: 50px;
        min-width: 50px;
        height: 50px;
        margin: 0;
        font-size: 21px;
    }

    .quick-card h4 {
        margin: 0 0 4px;
        font-size: 16px;
    }

    .quick-card p {
        margin: 0;
        font-size: 12px;
        line-height: 1.4;
    }

    .dashboard-grid,
    .dashboard-grid-top,
    .dashboard-grid-bottom,
    .dashboard-grid-news {
        gap: 18px;
        margin-top: 18px;
    }

    .continue-learning-card,
    .upcoming-events-card,
    .downloads-card,
    .products-card,
    .latest-news-card {
        padding: 18px;
        border-radius: 14px;
    }

    .course-item {
        flex-direction: column;
        gap: 14px;
        padding: 14px;
    }

    .course-image,
    .course-image img {
        width: 100%;
        min-width: 0;
    }

    .course-image img {
        height: auto;
        max-height: 220px;
        object-fit: cover;
    }

    .course-content h3 {
        font-size: 18px;
    }

    .event-item {
        gap: 12px;
        padding: 13px;
    }

    .event-date {
        width: 56px;
        min-width: 56px;
        height: 56px;
    }

    .event-day {
        font-size: 19px;
    }

    .event-content h4 {
        font-size: 15px;
    }

    .event-location,
    .event-link {
        font-size: 13px;
    }

    .download-item {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 12px;
        align-items: center;
    }

    .download-icon {
        width: 52px;
        min-width: 52px;
        height: 52px;
    }

    .download-content h4 {
        font-size: 16px;
        overflow-wrap: anywhere;
    }

    .download-content p {
        font-size: 13px;
        line-height: 1.45;
    }

    .download-action {
        grid-column: 1 / -1;
        width: 100%;
        margin-left: 0;
    }

    .download-btn {
        width: 100%;
    }

    .products-list {
        grid-template-columns: 1fr;
    }

    .product-item {
        flex-direction: column;
        gap: 14px;
    }

    .product-image {
        width: 100%;
        min-width: 0;
    }

    .product-image img {
        width: 100%;
        height: auto;
        max-height: 260px;
        object-fit: contain;
    }

    .view-product-btn,
    .maklerprime-button {
        width: 100%;
        text-align: center;
    }

    .latest-news-grid {
        grid-template-columns: 1fr !important;
        gap: 0;
    }

    .latest-news-item {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px 0;
    }

    .news-thumb {
        width: 100%;
        height: 180px;
    }

    .latest-news-header h3 {
        font-size: 25px;
    }

    .maklerprime-products-grid {
        grid-template-columns: 1fr;
    }

    .maklerprime-title {
        font-size: 26px;
    }
}

/* ---------- Small mobile ---------- */
@media (max-width: 480px) {
    .custom-member-dashboard {
        padding-left: 3px;
        padding-right: 3px;
    }

    .dashboard-hero-inner {
        gap: 23px;
        padding: 30px 16px 34px;
    }

    .dashboard-hero-profile {
        width: 150px;
        height: 150px;
    }

    .dashboard-hero-initials {
        font-size: 65px !important;
    }

    .dashboard-hero-content h1 {
        font-size: 28px;
    }

    .dashboard-hero-content p {
        font-size: 14px;
    }

    .quick-card {
        padding: 14px 15px;
    }

    .quick-icon {
        width: 46px;
        min-width: 46px;
        height: 46px;
        font-size: 19px;
    }

    .quick-card h4 {
        font-size: 15px;
    }

    .quick-card p {
        font-size: 11px;
    }

    .continue-learning-card,
    .upcoming-events-card,
    .downloads-card,
    .products-card,
    .latest-news-card {
        padding: 15px;
    }

    .event-date {
        width: 52px;
        min-width: 52px;
        height: 52px;
    }

    .event-day {
        font-size: 18px;
    }

    .event-month {
        font-size: 9px;
    }

    .event-content h4 {
        font-size: 14px;
    }

    .event-location,
    .event-link {
        font-size: 12px;
    }

    .latest-news-header h3 {
        font-size: 23px;
    }
}

/* ---------- Very small phones ---------- */
@media (max-width: 360px) {
    .dashboard-hero-inner {
        padding: 28px 14px 32px;
    }

    .dashboard-hero-profile {
        width: 130px;
        height: 130px;
    }

    .dashboard-hero-initials {
        font-size: 56px !important;
    }

    .dashboard-hero-content h1 {
        font-size: 25px;
    }

    .dashboard-hero-content p {
        font-size: 13px;
    }

    .quick-card {
        gap: 12px;
        padding: 13px;
    }

    .quick-icon {
        width: 42px;
        min-width: 42px;
        height: 42px;
        font-size: 17px;
    }

    .course-item,
    .event-item,
    .download-item,
    .product-item {
        padding: 12px;
    }

    .event-date {
        width: 48px;
        min-width: 48px;
        height: 48px;
    }
}

/* ==========================================================
   10. TOUCH DEVICES
   ========================================================== */

@media (hover: none) and (pointer: coarse) {
    .quick-card:hover,
    .course-item:hover,
    .event-item:hover,
    .download-item:hover,
    .product-item:hover,
    .maklerprime-product-card:hover,
    .latest-news-card:hover {
        transform: none;
        box-shadow: none;
    }
}

/* ==========================================================
   11. FINAL OVERFLOW PROTECTION
   ========================================================== */

@media (max-width: 1024px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .custom-member-dashboard {
        overflow-x: hidden;
    }

    .dashboard-grid,
    .dashboard-grid-top,
    .dashboard-grid-bottom,
    .dashboard-grid-news,
    .quick-nav-wrapper,
    .latest-news-grid,
    .maklerprime-products-grid {
        max-width: 100%;
    }
}
