
/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 1.0
*/
/* ================================
   HPA REVIEWS GRID
================================ */

.hpa-reviews-wrapper {
    width: 100%;
}

/* Filters */

.hpa-review-filters {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 45px;
    border: 1px solid #141B2B1A;
    padding-block: 20px;
}
.ekit-wid-con .ekit-sidebar-group.ekit_isActive .ekit-overlay{
    visibility : hidden !important;
}
.ekit-wid-con .ekit-sidebar-widget{
    max-width: unset !important;
}
.hpa-review-filter {
    font-family: 'DM Sans';
    border: 1px solid #d4d4d4;
    background: #fff;
    color: #243447;
    padding: 12px 28px;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: all .25s ease;
}

.hpa-review-filter:hover,
.hpa-review-filter.active {
    border-color: #6500a8;
    color: #fff;
    background: linear-gradient(125.35deg, #420260 2.3%, #8804C6 163.16%);
}

/* Grid */

.hpa-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
}

/* Card — now flexbox so content aligns consistently */

.hpa-review-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #f7f6f1;
    border: 1px solid #e7e7e7;
    border-radius: 14px;
    padding: 28px;
    box-shadow: 0 5px 20px rgba(0,0,0,.05);
    transition: transform .25s ease, box-shadow .25s ease;
    text-align: center;
    height: 410px;
}

.hpa-review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
}

/* Logo */

.hpa-review-logo {
    width: 100%;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    flex-shrink: 0;
}

.hpa-review-logo img {
    max-width: 180px;
    max-height: 75px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.hpa-review-logo-placeholder {
    width: 65px;
    height: 65px;
    border-radius: 12px;
    background: #f1e7f8;
    color: #6500a8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 700;
}

/* Title — clamp to 2 lines so uneven text doesn't break layout */

.hpa-review-title {
    font-family: Manrope;
    font-weight: 700;
    font-size: 21px;
    line-height: 26px;
    letter-spacing: -0.94px;
    text-align: center;
    color: #141B2B;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 12px;
    flex-shrink: 0;
    height: 60px;
}

/* Rating */

.hpa-review-rating {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    justify-content: center;
    flex-shrink: 0;
}

.hpa-stars {
    display: flex;
    gap: 2px;
}

.hpa-star {
    font-size: 18px;
    color: #d5d5d5;
}

.hpa-star.filled {
    color: #f5a623;
}

.hpa-rating-number {
    color: #555;
    font-size: 14px;
    font-weight: 600;
}

/* Description — clamp to 3 lines + grow to fill space */

.hpa-review-excerpt {
    font-family: DM Sans;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    color: #66706A;

    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
    margin-bottom: 15px;
    height: 80px;
}

/* Button — always pinned to bottom of the card */

.hpa-review-button {
    font-family: DM Sans;
    font-weight: 700;
    font-size: 17px;
    color: #420260;
    text-decoration: none;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: auto;
    flex-shrink: 0;
}

.hpa-review-button:hover {
    color: #4d007f;
    gap: 12px;
}

.hpa-review-button span {
    font-size: 18px;
}

/* No reviews */

.hpa-no-reviews {
    grid-column: 1 / -1;
    text-align: center;
    padding: 50px 20px;
    font-size: 18px;
    color: #666;
}

/* ================================
   HPA REVIEWS GRID — BREAKPOINTS
================================ */

/* Tablet — 2 columns */
@media (max-width: 1024px) {
    .hpa-reviews-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
}

/* Small tablet / large mobile — cards can grow, drop fixed height */
@media (max-width: 767px) {
    .hpa-review-filters {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-block: 15px;
        gap: 8px;
    }

    .hpa-review-filter {
        flex: 0 0 auto;
        white-space: nowrap;
        padding: 10px 20px;
        font-size: 14px;
    }

    .hpa-reviews-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .hpa-review-card {
        height: auto;
        min-height: 360px;
        padding: 20px;
    }
}

/* Mobile — 1 column */
@media (max-width: 600px) {
    .hpa-reviews-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .hpa-review-card {
        height: auto;
        min-height: 320px;
    }

    .hpa-review-title {
        font-size: 18px;
        line-height: 24px;
    }
}




/* =========================================
   AFFILIATE POST + SIDEBAR
========================================= */

.affiliate-post-layout {
    width: 100%;
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 40px;

    box-sizing: border-box;
}

.affiliate-post-content {
    min-width: 0;
}

.affiliate-post-sidebar {
    display: block !important;
    visibility: visible !important;

    width: 100%;
    background: #f7f7f7;
    padding: 25px;
    box-sizing: border-box;

    align-self: start;
}

.affiliate-sidebar-title {
    margin: 0 0 20px;
    font-size: 24px;
    line-height: 1.3;
    color: #222;
}


/* Latest Post */

.affiliate-latest-post {
    display: flex;
    gap: 12px;

    padding: 15px 0;

    border-bottom: 1px solid #ddd;
}

.affiliate-latest-post:last-child {
    border-bottom: 0;
}


.affiliate-latest-image {
    flex: 0 0 80px;
}

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

    width: 80px;
    height: 60px;

    object-fit: cover;
    border-radius: 4px;
}


.affiliate-latest-content {
    flex: 1;
    min-width: 0;
}

.affiliate-latest-content h4 {
    margin: 0 0 6px;

    font-size: 15px;
    line-height: 1.4;
}

.affiliate-latest-content h4 a {
    color: #222;
    text-decoration: none;
}

.affiliate-latest-content h4 a:hover {
    color: #7b00c8;
}


.affiliate-latest-date {
    display: block;

    font-size: 12px;
    color: #777;
}


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

@media (max-width: 768px) {

    .affiliate-post-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .affiliate-post-sidebar {
        width: 100%;
    }

}
   

.ac-author-page{
    background:#f7f7f5;
    padding:80px 20px;
    min-height:100vh;
}

.ac-container{
    max-width:1200px;
    margin:0 auto;
}

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

.ac-author-header{
    display:flex;
    align-items:center;
    gap:40px;
    background:#fff;
    padding:50px;
    border-radius:24px;
    box-shadow:0 10px 40px rgba(0,0,0,.06);
    margin-bottom:70px;
}

.ac-author-avatar img{
    width:180px;
    height:180px;
    border-radius:50%;
    object-fit:cover;
    border:6px solid #5b0aa3;
}

.ac-author-info{
    flex:1;
}

.ac-author-name{
    font-size:48px;
    line-height:1.1;
    margin:0 0 10px;
    color: #141B2B !important;
    font-weight:800;
}

.ac-author-count{
    display:inline-block;
    margin-bottom:20px;
    color:#5b0aa3;
    font-weight:700;
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.ac-author-bio{
    font-size:18px;
    line-height:1.8;
    color: #3E4842;
    max-width:800px;
    margin-bottom:25px;
}

/* ==========================
   SOCIAL LINKS
========================== */

.ac-author-links{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.ac-author-links a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:48px;
    height:48px;
    padding:0 18px;
    border-radius:12px;
    background:#5b0aa3;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.ac-author-links a:hover{
    transform:translateY(-3px);
}

/* ==========================
   POSTS HEADING
========================== */

.ac-posts-heading{
    font-size:42px;
    text-align:center;
    margin-bottom:50px;
    font-weight:800;
    color:#101828;
}

/* ==========================
   POSTS GRID
========================== */

.ac-posts-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.ac-post-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    transition:.3s;
}

.ac-post-card:hover{
    transform:translateY(-5px);
}

.ac-post-thumb{
    display:block;
}

.ac-post-thumb img{
    width:100%;
    height:240px;
    object-fit:cover;
    display:block;
}

.ac-post-body{
    padding:24px 10px;
}

.ac-post-cat{
    display:inline-block;
    background:#f3ebff;
    color:#5b0aa3;
    text-decoration:none;
    padding:8px 14px;
    border-radius:30px;
    font-size:13px;
    font-weight:700;
    margin-bottom:15px;
}

.ac-post-title{
    font-size:24px;
    line-height:1.4;
    margin:0 0 15px;
}

.ac-post-title a{
    text-decoration:none;
    color:#141B2B;
}

.ac-post-title a:hover{
    color:#5b0aa3;
}

.ac-post-meta{
    color:#667085;
    font-size:14px;
}

/* ==========================
   PAGINATION
========================== */

.ac-pagination{
    margin-top:60px;
    text-align:center;
}

.ac-pagination .page-numbers{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:45px;
    height:45px;
    border-radius:50%;
    margin:0 5px;
    text-decoration:none;
    background:#fff;
    color:#101828;
    font-weight:700;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
}

.ac-pagination .current{
    background:#5b0aa3;
    color:#fff;
}

/* ==========================
   NO POSTS
========================== */

.ac-no-posts{
    text-align:center;
    background:#fff;
    padding:60px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

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

@media(max-width:1024px){

    .ac-author-header{
        flex-direction:column;
        text-align:center;
    }

    .ac-author-links{
        justify-content:center;
    }

    .ac-posts-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .ac-author-name{
        font-size:40px;
    }
}

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

@media(max-width:767px){

    .ac-author-page{
        padding:50px 15px;
    }

    .ac-author-header{
        padding:30px 20px;
        gap:25px;
    }

    .ac-author-avatar img{
        width:140px;
        height:140px;
    }

    .ac-author-name{
        font-size:32px;
    }

    .ac-author-bio{
        font-size:16px;
    }

    .ac-posts-heading{
        font-size:30px;
    }

    .ac-posts-grid{
        grid-template-columns:1fr;
    }

    .ac-post-thumb img{
        height:220px;
    }
}




/* ==================================
   ALL AUTHORS PAGE
================================== */

.ac-authors-page{
    background:#f7f7f5;
    padding:80px 20px;
}

.ac-authors-page .container{
    max-width:1200px;
    margin:0 auto;
}

.ac-authors-title{
    font-size:64px;
    font-weight:800;
    text-align:center;
    color:#101828;
    line-height:1.1;
    margin-bottom:20px;
}

.ac-authors-subtitle{
    max-width:750px;
    margin:0 auto 60px;
    text-align:center;
    font-size:18px;
    line-height:1.8;
    color:#667085;
}
.ac-author-content .ac-authors-name a{
    color: #420260 !important;
}
/* ==================================
   AUTHORS GRID
================================== */
.ac-authors-label{
    text-align: center;
}
.ac-author-name a{
    color: unset !important;
}
.ac-authors-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}
.ac-author-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

.ac-author-content{
    display:flex;
    flex-direction:column;
    flex:1;
}

.ac-author-bio{
    flex-grow:1;
}

.ac-author-btn{
    margin-top:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#5b0aa3;
    color:#fff;
    text-decoration:none;
    padding:12px 24px;
    border-radius:12px;
    font-weight:700;
    transition:.3s;
}

.ac-author-btn:hover{
    background:#420260;
    color:#fff;
}
/* ==================================
   AUTHOR CARD
================================== */

.ac-author-card{
    background:#ffffff;
    border-radius:24px;
    padding:35px 25px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    transition:.3s ease;
    position:relative;
    overflow:hidden;
}

.ac-author-card:hover{
    transform:translateY(-6px);
}

.ac-author-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:linear-gradient(
        90deg,
        #420260,
        #7b2cff,
        #a855f7
    );
}

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

.ac-author-card img{
    width:120px;
    height:120px;
    border-radius:50%;
    object-fit:cover;
    border:5px solid #7b2cff;
    margin-bottom:20px;
       
}
.ac-author-card a{
    display: flex;
    justify-content: center;
}
/* ==================================
   AUTHOR NAME
================================== */

.ac-author-card-name{
    margin:0 0 10px;
    font-size:24px;
    font-weight:700;
    line-height:1.3;
}

.ac-author-card-name a{
    color:#101828;
    text-decoration:none;
}

.ac-author-card-name a:hover{
    color:#7b2cff;
}

/* ==================================
   ARTICLE COUNT
================================== */

.ac-author-card-count{
    display:inline-block;
    margin-bottom:18px;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    color:#7b2cff;
}

/* ==================================
   BIO
================================== */

.ac-author-card-bio{
    font-size:15px;
    line-height:1.8;
    color:#667085;
    margin-bottom:25px;

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

/* ==================================
   BUTTON
================================== */

.ac-author-card-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    background:#5b0aa3;
    color:#fff;
    padding:12px 24px;
    border-radius:12px;
    font-size:14px;
    font-weight:700;
    transition:.3s;
}

.ac-author-card-link:hover{
    background:#420260;
    color:#fff;
}

/* ==================================
   NO AUTHORS
================================== */

.ac-no-authors{
    background:#fff;
    padding:60px;
    border-radius:24px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.ac-no-authors p{
    margin:0;
    font-size:18px;
}

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

@media(max-width:1200px){

    .ac-authors-grid{
        grid-template-columns:repeat(3,1fr);
    }

}

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

@media(max-width:992px){

    .ac-authors-title{
        font-size:52px;
    }

    .ac-authors-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

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

@media(max-width:767px){

    .ac-authors-page{
        padding:60px 15px;
    }

    .ac-authors-title{
        font-size:38px;
    }

    .ac-authors-subtitle{
        font-size:16px;
        margin-bottom:40px;
    }

    .ac-authors-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .ac-author-card{
        padding:30px 20px;
    }

    .ac-author-card img{
        width:100px;
        height:100px;
    }

    .ac-author-card-name{
        font-size:22px;
    }

}

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

@media(max-width:480px){

    .ac-authors-title{
        font-size:32px;
    }

    .ac-author-card{
        padding:25px 18px;
    }

    .ac-author-card-link{
        width:100%;
    }

}