/* =========================================================
   AstronovAI Tool Cards Final Override
   Loaded after all page CSS to prevent home/taxonomy/favorites overrides.
========================================================= */

/* Make home carousel cards compact even when Swiper gives wide slides. */
body .home-tools-swiper .tool-card,
body .trendingSwiper .tool-card,
body .recommendedSwiper .tool-card{
    width:100% !important;
    max-width:244px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

body .home-tools-swiper .swiper-slide,
body .trendingSwiper .swiper-slide,
body .recommendedSwiper .swiper-slide{
    width:260px !important;
    max-width:260px !important;
}

body .tool-card,
body .ai-tool-card,
body .tool-card-premium{
    min-height:0 !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:visible !important;
}

body .tool-card{
    padding:18px !important;
    border-radius:26px !important;
}

body .tool-card .tool-top,
body .tool-top{
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) !important;
    gap:13px !important;
    align-items:start !important;
}

body .tool-card .tool-logo-wrap,
body .tool-logo-wrap{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    flex:0 0 58px !important;
    border-radius:17px !important;
}

body .tool-card .tool-logo,
body .tool-logo-wrap img,
body .tool-card .tool-logo-letter{
    width:42px !important;
    height:42px !important;
    object-fit:contain !important;
}

body .tool-card .tool-info,
body .tool-info{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
    min-width:0 !important;
    width:100% !important;
}

body .tool-card .tool-title,
body .tool-card .tool-title a,
body .tool-title,
body .tool-title a{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    font-size:16px !important;
    line-height:1.22 !important;
    letter-spacing:-.025em !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
}

body .tool-card .tool-pricing,
body .tool-pricing,
body .tool-card .ai-recommendation-badge,
body .ai-recommendation-badge{
    max-width:100% !important;
    width:auto !important;
    min-height:23px !important;
    margin:0 !important;
    padding:5px 9px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.15 !important;
}

body .tool-card .tool-rating,
body .tool-rating{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    margin-top:2px !important;
    white-space:normal !important;
    line-height:1.3 !important;
    font-size:12px !important;
}

body .tool-card .tool-reviews-count,
body .tool-reviews-count{
    white-space:nowrap !important;
}

body .tool-card .tool-spacer,
body .tool-spacer{
    flex:1 1 auto !important;
    min-height:14px !important;
}

body .tool-card .tool-actions,
body .tool-actions{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    margin-top:auto !important;
    width:100% !important;
    border:0 !important;
    overflow:visible !important;
    background:transparent !important;
}

body .tool-card .tool-top-buttons,
body .tool-top-buttons{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:visible !important;
    background:transparent !important;
}

body .tool-card .official-btn,
body .tool-card .compare-btn,
body .tool-card .visit-btn,
body .official-btn,
body .compare-btn,
body .visit-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:40px !important;
    padding:8px 10px !important;
    border-radius:13px !important;
    text-align:center !important;
    font-size:12px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
}

body .tool-card .official-btn,
body .tool-card .compare-btn,
body .official-btn,
body .compare-btn{
    border:1px solid rgba(15,23,42,.09) !important;
    background:#fff !important;
    color:#0f172a !important;
    box-shadow:none !important;
}

body .tool-card .compare-btn.active,
body .compare-btn.active{
    background:#16a34a !important;
    border-color:#16a34a !important;
    color:#fff !important;
}

body .tool-card .visit-btn,
body .visit-btn{
    min-height:44px !important;
    border-radius:14px !important;
}

/* Official Website must always be two lines. */
body .official-label{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:1px !important;
    width:100% !important;
    text-align:center !important;
    line-height:1.05 !important;
}

body .official-label span{
    display:block !important;
    white-space:nowrap !important;
}

/* Favorite heart: only the glyph turns red. The button never becomes a red square. */
body .tool-card .favorite-heart,
body .favorite-heart{
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    border-radius:999px !important;
    border:1px solid rgba(15,23,42,.10) !important;
    background:#ffffff !important;
    background-color:#ffffff !important;
    box-shadow:0 10px 22px rgba(15,23,42,.08) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    overflow:visible !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:1 !important;
    z-index:50 !important;
    transform:none !important;
}

body .tool-card .favorite-heart::before,
body .favorite-heart::before{
    content:"♡" !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#94a3b8 !important;
    background:transparent !important;
    -webkit-mask:none !important;
    mask:none !important;
    font-size:16px !important;
    line-height:1 !important;
    font-weight:900 !important;
    transform:none !important;
}

body .tool-card .favorite-heart.active,
body .tool-card .favorite-heart.is-active,
body .tool-card .favorite-heart.saved,
body .tool-card .favorite-heart[aria-pressed="true"],
body .favorite-heart.active,
body .favorite-heart.is-active,
body .favorite-heart.saved,
body .favorite-heart[aria-pressed="true"]{
    background:#ffffff !important;
    background-color:#ffffff !important;
    border-color:rgba(15,23,42,.10) !important;
    box-shadow:0 10px 22px rgba(15,23,42,.08) !important;
}

body .tool-card .favorite-heart.active::before,
body .tool-card .favorite-heart.is-active::before,
body .tool-card .favorite-heart.saved::before,
body .tool-card .favorite-heart[aria-pressed="true"]::before,
body .favorite-heart.active::before,
body .favorite-heart.is-active::before,
body .favorite-heart.saved::before,
body .favorite-heart[aria-pressed="true"]::before{
    content:"♥" !important;
    color:#e11d48 !important;
}

body .tool-card .favorite-heart:hover,
body .favorite-heart:hover{
    background:#ffffff !important;
    border-color:rgba(225,29,72,.22) !important;
    box-shadow:0 12px 28px rgba(225,29,72,.12) !important;
}

body .tool-card .favorite-heart:hover::before,
body .favorite-heart:hover::before{
    color:#e11d48 !important;
}

@media (max-width:768px){
    body .home-tools-swiper .tool-card,
    body .trendingSwiper .tool-card,
    body .recommendedSwiper .tool-card{
        max-width:none !important;
    }

    body .home-tools-swiper .swiper-slide,
    body .trendingSwiper .swiper-slide,
    body .recommendedSwiper .swiper-slide{
        width:auto !important;
        max-width:none !important;
    }
}
/* =========================================================
   AstronovAI Exact Category + No Section Square v14.8
   Hard final: no heading squares/icons, mini cards show category only.
========================================================= */

/* Remove title icon boxes from every possible source. */
body .home-section-title-icon,
body .home-section-title-icon *,
body .home-section-title-wrap::before,
body .home-section-title-wrap::after,
body .home-section::before,
body .home-section::after,
body .featured-comparisons-section::before,
body .featured-comparisons-section::after,
body .section-head::before,
body .section-head::after,
body .section-head > div::before,
body .section-head > div::after,
body .section-head > span:empty,
body .section-head > i:empty,
body .section-head [data-ai-remove-empty-icon="1"]{
    display:none !important;
    content:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:none !important;
}

/* Cancel the old reserved padding for pseudo icons. */
body .home-section .section-head,
body .featured-comparisons-section .section-head{
    padding-left:0 !important;
}

body .home-section .section-head > div,
body .featured-comparisons-section .section-head > div,
body .section-head .section-copy{
    display:block !important;
    padding-left:0 !important;
    min-height:0 !important;
}

body .section-head h2{
    margin:0 !important;
}

body .section-head p{
    margin-top:7px !important;
}

/* The card subtitle is category only. No company/category pill duplication. */
body .home-tool-mini-card .home-mini-category{
    display:none !important;
}

body .home-tool-mini-card .home-mini-company{
    display:block !important;
    margin-top:7px !important;
    color:#64748b !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1.35 !important;
    max-width:154px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

body .home-tool-mini-card .home-mini-company:empty{
    display:none !important;
}

body .home-tool-mini-card .home-mini-main{
    min-height:80px !important;
    align-items:center !important;
}

body .home-tool-mini-card .home-mini-copy h3{
    max-width:154px !important;
    line-height:1.18 !important;
}

body .home-tool-mini-card{
    min-height:306px !important;
}

body .home-tool-mini-card .home-mini-meta{
    margin-top:10px !important;
}

body .home-tool-mini-card .home-mini-actions{
    margin-top:13px !important;
}
