:root{
    --fim-brand: #20C4A8;
    --fim-brand-2: #17a890;
    --fim-dark: #061a2b;
    --fim-navy: #08243a;
    --fim-text: #102033;
    --fim-muted: #64748b;
    --fim-border: #e5edf3;
    --fim-soft: #f6fbfa;
    --fim-white: #fff;
    --fim-warning: #f59e0b;
    --fim-shadow: 0 18px 45px rgba(15, 23, 42, .10);
    --fim-shadow-lg: 0 26px 70px rgba(15, 23, 42, .16);
    --fim-radius: 22px
}

*{
    box-sizing: border-box
}
html{
    scroll-behavior: smooth
}
body.fim-body,
body{
    margin: 0;
    font-family: "Helvetica Neue", helvetica, arial, sans-serif;
    color: var(--fim-text);
    background: #fff
}
.fim-container{
    width: min(1240px, calc(100% - 40px));
    margin-inline: auto
}
.fim-main{
    min-height: 52vh
}
.fim-site-header{
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 10px 35px rgba(15, 23, 42, .08)
}
.fim-topbar{
    background: linear-gradient(135deg, #063f42, #061929);
    color: #e7fffb;
    font-size: 13px
}
.fim-topbar-inner{
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px
}
.fim-topbar-left,
.fim-topbar-right{
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap
}
.fim-topbar i{
    color: #dffdf8
}
.fim-topbar a{
    color: #e7fffb;
    text-decoration: none
}
.fim-mainbar{
    background: #fff
}
.fim-mainbar-inner{
    height: 92px;
    display: flex;
    align-items: center;
    gap: 28px
}
.fim-logo{
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    text-decoration: none
}
.fim-logo img{
    display: block;
    width: auto !important;
    height: 66px !important;
    max-width: 215px !important;
    object-fit: contain
}
.fim-nav{
    display: flex;
    align-items: center;
    gap: 22px;
    margin-left: auto
}
.fim-nav a,
.fim-nav-drop{
    appearance: none;
    border: 0;
    background: transparent;
    text-decoration: none;
    color: #0f2135;
    font-weight: 600;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 10px 0;
    position: relative;
    white-space: nowrap
}
.fim-nav a::after,
.fim-nav-drop::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 1px;
    width: 0;
    height: 3px;
    border-radius: 999px;
    background: var(--fim-brand);
    transition: .25s
}
.fim-nav a:hover::after,
.fim-nav a.is-active::after,
.fim-nav-drop:hover::after{
    width: 100%
}
.fim-nav a:hover,
.fim-nav-drop:hover,
.fim-nav a.is-active{
    color: var(--fim-brand-2)
}
.fim-actions{
    display: flex;
    align-items: center;
    gap: 10px
}
.fim-btn{
    height: 46px;
    padding: 0 18px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid transparent;
    white-space: nowrap;
    transition: .2s
}
.fim-btn-outline{
    color: #102033;
    border-color: var(--fim-brand);
    background: #fff
}
.fim-btn-outline:hover{
    background: #f1fffc;
    color: var(--fim-brand-2)
}
.fim-btn-primary{
    background: linear-gradient(135deg, var(--fim-brand), var(--fim-brand-2));
    color: #fff;
    box-shadow: 0 14px 25px rgba(32, 196, 168, .24)
}
.fim-btn-primary:hover{
    transform: translateY(-1px);
    box-shadow: 0 18px 35px rgba(32, 196, 168, .32)
}
.fim-btn-soft{
    border-color: var(--fim-brand);
    color: var(--fim-brand-2);
    background: #33CBA5
}
.fim-btn-light{
    background: #fff;
    color: var(--fim-brand-2)
}
.fim-search-icon,
.fim-mobile-toggle{
    width: 44px;
    height: 44px;
    border: 0;
    background: #f7fbfb;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer
}
.fim-search-icon:hover,
.fim-mobile-toggle:hover{
    background: #eafffb;
    color: var(--fim-brand-2)
}
.fim-mobile-toggle{
    display: none
}


.fim-link-strong{
    font-weight: ;
    color: var(--fim-brand-2);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px
}


.fim-muted-small{
    font-size: 13px;
    color: #94a3b8;
    margin: 0
}
.fim-hero{
    position: relative;
    min-height: 460px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #08243a
}
.fim-hero-bg{
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4, 29, 42, .90), rgba(4, 29, 42, .60)), url("../img/mptb.jpeg") center/cover no-repeat;
    transform: scale(1.02)
}
.fim-hero::after{
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 75% 25%, rgba(32, 196, 168, .22), transparent 32%)
}
.fim-hero-inner{
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(480px, 680px);
    align-items: center;
    gap: 56px;
    padding: 72px 0
}
.fim-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(32, 196, 168, .16);
    color: #cffff8;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 850;
    font-size: 13px
}
.fim-hero h1{
    color: #fff;
    /* letter-spacing: -.04em */
}
.fim-hero p{
    line-height: 1.6;
    color: #e5f3f3;
    margin: 0
}
.fim-hero-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px
}
.fim-hero-tags a{
    color: #fff;
    text-decoration: none;
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .18);
    padding: 9px 13px;
    border-radius: 999px;
    font-weight: 750
}
.fim-hero-tags a:hover{
    background: var(--fim-brand)
}
.fim-search-card{
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 24px;
    box-shadow: var(--fim-shadow-lg);
    overflow: visible
}
.fim-search-tabs{
    height: 68px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid var(--fim-border)
}
.fim-search-tabs button{
    border: 0;
    background: transparent;
    color: #475569;
    font-weight: ;
    font-size: 15px;
    cursor: pointer;
    position: relative
}
.fim-search-tabs button i{
    margin-right: 7px
}
.fim-search-tabs button.is-active{
    color: var(--fim-brand-2)
}
.fim-search-tabs button.is-active::after{
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: -1px;
    height: 3px;
    background: var(--fim-brand);
    border-radius: 999px
}
.fim-search-form{
    padding: 24px;
    display: grid;
    grid-template-columns: 1.45fr .85fr;
    gap: 14px
}
.fim-field{
    height: 58px;
    position: relative;
    border: 1px solid #dbe5ee;
    border-radius: 12px;
    background: #fff;
    display: flex;
    align-items: center
}
.fim-field>i{
    color: #64748b;
    margin-left: 17px;
    font-size: 16px
}
.fim-field input,
.fim-field select{
    width: 100%;
    height: 100%;
    border: 0;
    outline: none;
    background: transparent;
    padding: 0 14px;
    font-size: 15px;
    color: #334155
}
.fim-select-field{
    grid-column: span 1
}
.fim-search-submit{
    height: 58px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--fim-brand), var(--fim-brand-2));
    color: #fff;
    font-weight: 950;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(32, 196, 168, .25)
}
.fim-locate{
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    color: #0f172a;
    cursor: pointer;
    margin-right: 4px
}
.fim-suggestions{
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 9px);
    background: #fff;
    border: 1px solid var(--fim-border);
    border-radius: 16px;
    box-shadow: 0 25px 60px rgba(15, 23, 42, .18);
    z-index: 300;
    overflow: hidden
}
.fim-suggestion-item{
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 12px 14px;
    text-decoration: none;
    color: #102033;
    border-bottom: 1px solid #edf2f7
}
.fim-suggestion-item:hover{
    background: #f3fffc
}
.fim-suggestion-logo{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid var(--fim-border);
    object-fit: contain;
    background: #fff
}
.fim-suggestion-title{
    display: block;
    font-weight: ;
    font-size: 14px
}
.fim-suggestion-meta{
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 3px
}
.fim-suggestion-badge{
    margin-left: auto;
    background: #eafffb;
    color: var(--fim-brand-2);
    font-size: 11px;
    font-weight: ;
    padding: 5px 8px;
    border-radius: 999px
}
.fim-stats-band{
    background: #fff;
    box-shadow: 0 -10px 40px rgba(15, 23, 42, .08)
}
.fim-stats-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 28px 0
}
.fim-stat-item{
    display: flex;
    align-items: center;
    gap: 14px;
    justify-content: center
}
.fim-stat-item span{
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #e8fbf7;
    color: var(--fim-brand-2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px
}
.fim-stat-item strong{
    display: block;
    font-size: 24px;
    color: #071f2d
}
.fim-stat-item small{
    display: block;
    color: #475569;
    font-size: 15px;
    margin-top: 2px
}
.fim-section{
    padding: 72px 0
}
.fim-section-soft{
    background: linear-gradient(180deg, #f8fcfc, #fff)
}
.fim-section-head{
    text-align: center;
    margin-bottom: 32px
}
.fim-section-head span{
    display: inline-block;
    color: var(--fim-brand-2);
    font-weight: 950;
    text-transform: uppercase;
    /* letter-spacing: .08em; */
    font-size: 12px;
    margin-bottom: 8px
}
.fim-section-head h2{
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.1;
    color: #0f2135;
    margin: 0 0 10px;
    /* letter-spacing: -.03em */
}
.fim-section-head p{
    color: #64748b;
    font-size: 17px;
    margin: 0
}
.fim-section-head-row{
    display: flex;
    text-align: left;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px
}
.fim-category-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px
}
.fim-category-card{
    min-height: 114px;
    border: 1px solid var(--fim-border);
    border-radius: 18px;
    background: #fff;
    text-decoration: none;
    display: grid;
    grid-template-columns: 58px 1fr 20px;
    align-items: center;
    gap: 16px;
    padding: 18px;
    box-shadow: 0 12px 35px rgba(15, 23, 42, .05);
    transition: .22s
}
.fim-category-card:hover{
    transform: translateY(-4px);
    box-shadow: var(--fim-shadow);
    border-color: #b9f2e9
}
.fim-category-icon{
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #e8fbf7;
    color: var(--fim-brand-2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px
}
.fim-category-card h3{
    margin: 0;
    color: #102033;
    font-size: 17px
}
.fim-category-card p{
    margin: 5px 0 0;
    color: #64748b
}
.fim-center-action{
    text-align: center;
    margin-top: 28px
}
.fim-business-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px
}
.fim-business-card,
.fim-result-card,
.fim-panel,
.fim-empty-state{
    background: #fff;
    border: 1px solid var(--fim-border);
    border-radius: 22px;
    box-shadow: 0 14px 45px rgba(15, 23, 42, .06)
}
.fim-business-card{
    padding: 20px;
    display: flex;
    gap: 16px
}
.fim-business-logo,
.fim-result-logo{
    flex: 0 0 auto;
    width: 76px;
    height: 76px;
    border-radius: 18px;
    border: 1px solid var(--fim-border);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
}
.fim-business-logo img,
.fim-result-logo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 7px
}
.fim-business-content{
    min-width: 0;
    flex: 1
}
.fim-business-top,
.fim-result-line{
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    font-size: 12px;
    color: #64748b
}
.fim-business-top b,
.fim-result-line b{
    color: #b45309;
    background: #fff7ed;
    padding: 5px 8px;
    border-radius: 999px
}
.fim-business-card h3,
.fim-result-card h2{
    margin: 9px 0 6px;
    font-size: 19px;
    color: #0f2135
}
.fim-business-card p,
.fim-result-card p{
    color: #64748b;
    line-height: 1.55;
    margin: 0
}
.fim-business-meta,
.fim-result-meta{
    display: grid;
    gap: 6px;
    margin: 12px 0;
    color: #64748b;
    font-size: 13px
}
.fim-business-meta i,
.fim-result-meta i{
    color: var(--fim-brand-2)
}
.fim-business-actions,
.fim-result-actions{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    flex-wrap:wrap
}
.fim-business-actions a,
.fim-result-actions a,
.fim-card-action{
    height: 38px;
    padding: 0 13px;
    border-radius: 11px;
    border: 1px solid var(--fim-border);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    color: #102033;
    font-weight: 800;
    font-size: 13px;
    background: #fff
}
.fim-business-actions .is-primary,
.fim-result-actions .is-primary,
.fim-card-primary{
    background: linear-gradient(135deg, var(--fim-brand), var(--fim-brand-2)) !important;
    color: #fff !important;
    border-color: transparent !important
}
.fim-card-wa{
    color: #0c8a4b !important;
    border-color: #bbf7d0 !important
}
.fim-cta-section{
    padding: 62px 0 80px
}
.fim-cta-card{
    border-radius: 28px;
    background: linear-gradient(135deg, #083146, #0a7c74 55%, #20C4A8);
    color: #fff;
    padding: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    box-shadow: var(--fim-shadow-lg);
    position: relative;
    overflow: hidden
}
.fim-cta-card p{
    color: #e7fffb;
    margin: 0
}
.fim-results-hero{
    background: linear-gradient(135deg, #08243a, #0c3b4a);
    color: #fff;
    padding: 54px 0
}
.fim-results-hero p{
    color: #d7f7f1;
    margin: 0
}
.fim-results-section{
    padding: 36px 0 70px;
    background: #f8fcfc
}
.fim-results-layout{
    display: grid;
    grid-template-columns: 310px 1fr;
    gap: 24px
}
.fim-results-filter{
    position: sticky;
    top: 150px;
    align-self: start;
    background: #fff;
    border: 1px solid var(--fim-border);
    border-radius: 22px;
    padding: 20px;
    box-shadow: 0 14px 45px rgba(15, 23, 42, .06)
}

.fim-results-filter form{
    display: grid;
    gap: 11px
}
.fim-results-filter label{
    font-size: 13px;
    font-weight: ;
    color: #334155
}
.fim-results-filter input,
.fim-results-filter select{
    height: 45px;
    border: 1px solid #dbe5ee;
    border-radius: 12px;
    padding: 0 12px;
    outline: none
}
.fim-results-filter button{
    height: 46px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--fim-brand), var(--fim-brand-2));
    color: #fff;
    font-weight: 900
}
.fim-results-list{
    display: grid;
    gap: 16px
}
.fim-result-card{
    display: flex;
    gap: 18px;
    padding: 18px
}
.fim-result-logo{
    width: 90px;
    height: 90px
}
.fim-empty-state{
    text-align: center;
    padding: 56px 24px
}
.fim-empty-state i{
    font-size: 48px;
    color: var(--fim-brand)
}
.fim-profile-hero{
    background: radial-gradient(circle at top right, rgba(32, 196, 168, .30), transparent 35%), linear-gradient(135deg, #061a2b, #093448);
    color: #fff;
    padding: 62px 0
}
.fim-profile-inner{
    width: min(1240px, calc(100% - 40px));
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 24px;
    align-items: stretch
}
.fim-profile-card{
    display: flex;
    gap: 22px;
    align-items: center
}
.fim-profile-logo{
    width: 124px;
    height: 124px;
    border-radius: 28px;
    background: #fff;
    object-fit: contain;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, .4)
}
.fim-title{
    font-size: 46px;
    margin: 12px 0 8px;
    color: #fff;
    line-height: 1.05
}
.fim-badge{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 950;
    background: #e8fbf7;
    color: var(--fim-brand-2)
}
.fim-badge-gold{
    background: #fff7ed;
    color: #b45309
}
.fim-profile-actions{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 18px
}
.fim-hero-card{
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .10);
    border-radius: 24px;
    padding: 22px;
    backdrop-filter: blur(12px)
}
.fim-profile-body{
    width: min(1240px, calc(100% - 40px));
    margin: 34px auto 76px;
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 24px;
    align-items: start
}
.fim-profile-body main,
.fim-profile-body aside{
    display: grid;
    gap: 18px
}
.fim-panel{
    padding: 22px
}
.fim-h2{
    font-size: 24px;
    margin: 0 0 12px;
    color: #0f2135
}
.fim-muted{
    color: #64748b;
    line-height: 1.65
}

.fim-service{
    border: 1px solid var(--fim-border);
    border-radius: 18px;
    padding: 18px;
    background: #fbfefd
}
.fim-service>i{
    font-size: 26px;
    color: var(--fim-brand)
}
.fim-file{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid #eef2f7
}
.fim-socials{
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}
.fim-socials a{
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: #e8fbf7;
    color: var(--fim-brand-2);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 18px
}
.fim-map{
    width: 100%;
    height: 260px;
    border: 0;
    border-radius: 18px
}
.fim-locked{
    border: 1px dashed #f1c27d;
    background: #fffaf0;
    border-radius: 20px;
    padding: 20px;
    color: #7c4a03
}
.fim-locked strong{
    display: block;
    color: #92400e;
    margin-bottom: 6px
}
.fim-footer{
    position: relative;
    overflow: hidden;
    background: #061a2b;
    color: #d7e7ef;
    margin-top: 0
}
.fim-footer-glow{
    position: absolute;
    right: -120px;
    top: -120px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(32, 196, 168, .22), transparent 64%)
}
.fim-footer-grid{
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.45fr .8fr .8fr 1fr;
    gap: 34px;
    padding: 58px 0 38px
}
.fim-footer-brand img{
    height: 72px;
    width: auto;
    object-fit: contain
}
.fim-footer p{
    color: #aec1cf;
    line-height: 1.65
}
.fim-footer h3{
    color: #fff;
    font-size: 16px;
    margin: 0 0 14px
}
.fim-footer ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px
}
.fim-footer a{
    color: #d7e7ef;
    text-decoration: none
}
.fim-footer a:hover{
    color: #77f5df
}
.fim-footer-social{
    display: flex;
    gap: 10px;
    margin-top: 18px
}
.fim-footer-social a{
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .08);
    display: flex;
    align-items: center;
    justify-content: center
}
.fim-footer-contact li{
    display: flex;
    gap: 9px;
    align-items: flex-start
}
.fim-newsletter label{
    display: block;
    margin: 18px 0 8px;
    color: #fff;
    font-weight: 800
}
.fim-newsletter div{
    display: flex;
    background: #fff;
    border-radius: 14px;
    overflow: hidden
}
.fim-newsletter input{
    min-width: 0;
    flex: 1;
    height: 44px;
    border: 0;
    padding: 0 12px;
    outline: none;
    color: #102033
}
.fim-newsletter button{
    width: 48px;
    border: 0;
    background: var(--fim-brand);
    color: #fff
}
.fim-footer-bottom{
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding: 16px 0
}
.fim-footer-bottom .fim-container{
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    color: #9fb3c2;
    font-size: 14px
}
@media (max-width:1100px){
    .fim-btn{
        padding: 0 14px
    }
    
    .fim-hero-inner{
        grid-template-columns: 1fr
    }
    .fim-business-grid,
.fim-category-grid{
        grid-template-columns: repeat(2, 1fr)
    }
    .fim-profile-inner,
.fim-profile-body,
.fim-results-layout{
        grid-template-columns: 1fr
    }
    .fim-results-filter{
        position: static
    }
}
@media (max-width:820px){
    /* Header mobile é responsabilidade exclusiva de findinmoz-header-navigator.css. */
    .fim-search-tabs{
        grid-template-columns: repeat(2, 1fr);
        height: auto
    }
    .fim-search-tabs button{
        height: 52px
    }
    .fim-search-form{
        grid-template-columns: 1fr
    }
    .fim-stats-grid,
.fim-category-grid,
.fim-business-grid,
.fim-service-list{
        grid-template-columns: 1fr
    }
    .fim-profile-card,
.fim-result-card,
.fim-business-card{
        flex-direction: column
    }
    .fim-title{
        font-size: 34px
    }
    .fim-profile-logo{
        width: 100px;
        height: 100px
    }
    .fim-cta-card{
        flex-direction:column;
        align-items:stretch
    }
    .fim-cta-card > :is(a,button,.fim-btn,.fim-card-action){
        align-self:flex-end;
        margin-left:auto
    }
    .fim-section-head-row{
        display: block;
        text-align: left
    }
}
@media (max-width:520px){
    .fim-container,
.fim-profile-inner,
.fim-profile-body{
        width: calc(100% - 28px)
    }
    .fim-hero-inner{
        padding: 48px 0
    }
}
/* ==========================================================================
   PERFIL DA EMPRESA — LAYOUT PREMIUM CORRIGIDO
   Mantém o estilo antigo mais elegante, mas com melhor alinhamento,
   responsividade e controle visual para empresas Premium/Standard.
   ========================================================================== */
.fim-profile-hero{
    position: relative;
    padding: 58px 0 54px;
    background:
        radial-gradient(circle at 18% 20%, rgba(255,255,255,.10), transparent 26%),
        radial-gradient(circle at 78% 18%, rgba(32,196,168,.18), transparent 32%),
        linear-gradient(135deg, rgba(32,196,168,.88) 0%, rgba(26,133,118,.92) 42%, #03251e 100%);
    color: #fff;
    overflow: hidden;
}
.fim-profile-hero::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        none;
    background-size:auto !important;
    opacity: .22;
    pointer-events: none;
}
.fim-profile-hero::after{
    content: "";
    position: absolute;
    left: 4%;
    right: 4%;
    bottom: -22px;
    height: 56px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .22);
    filter: blur(34px);
    pointer-events: none;
}
.fim-profile-inner{
    position: relative;
    z-index: 2;
    width: min(1240px, calc(100% - 40px));
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 42px;
    align-items: center;
}
.fim-profile-card{
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 28px;
    align-items: center;
}
.fim-profile-logo{
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: #fff;
    object-fit: contain;
    padding: 12px;
    border: 9px solid rgba(255,255,255,.32);
    outline: 1px solid rgba(255,255,255,.30);
    box-shadow:
        0 20px 42px rgba(0,0,0,.22),
        inset 0 0 0 1px rgba(15,23,42,.08);
}
.fim-profile-card > div{
    min-width: 0;
}
.fim-profile-card .fim-badge{
    margin-right: 8px;
    margin-bottom: 10px;
}
.fim-title{
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.04;
    margin: 6px 0 12px;
    color: #fff;
    /* letter-spacing: -.035em; */
    font-weight: 950;
    text-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.fim-profile-card .fim-muted{
    color: rgba(255,255,255,.90);
    max-width: 680px;
    font-size: 18px;
    line-height: 1.75;
    margin: 0;
}
.fim-profile-actions{
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 22px;
}
.fim-profile-actions .fim-btn,
.fim-profile-actions .fim-card-action{
    height: 52px;
    min-width: 130px;
    padding: 0 20px;
    border-radius: 14px;
    font-size: 15px;
    justify-content: center;
    backdrop-filter: blur(10px);
}
.fim-profile-actions .fim-btn-light,
.fim-profile-actions .fim-card-action{
    background: rgba(255,255,255,.13);
    color: #fff;
    border: 1px solid rgba(255,255,255,.34);
}
.fim-profile-actions .fim-btn-light:hover,
.fim-profile-actions .fim-card-action:hover{
    background: #fff;
    color: var(--fim-brand-2);
    transform: translateY(-1px);
}
.fim-profile-actions .fim-btn-primary,
.fim-profile-actions .is-primary,
.fim-profile-actions .fim-card-primary{
    background: #fff !important;
    color: var(--fim-brand-2) !important;
    border: 1px solid #fff !important;
    box-shadow: 0 18px 34px rgba(0,0,0,.16);
}
.fim-profile-actions .fim-btn-primary:hover,
.fim-profile-actions .is-primary:hover,
.fim-profile-actions .fim-card-primary:hover{
    transform: translateY(-1px);
    box-shadow: 0 24px 44px rgba(0,0,0,.20);
}
.fim-socials{
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 22px;
}
.fim-profile-hero .fim-socials a{
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    font-size: 18px;
    transition: .22s ease;
}
.fim-profile-hero .fim-socials a:hover{
    background: #fff;
    color: var(--fim-brand-2);
    transform: translateY(-2px);
}
.fim-hero-card{
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.13);
    border-radius: 22px;
    padding: 24px;
    backdrop-filter: blur(16px);
    box-shadow: 0 20px 48px rgba(0,0,0,.16);
}
.fim-profile-rating{
    display: grid;
    gap: 14px;
}
.fim-profile-stars{
    color: #facc15;
    font-size: 24px;
    /* letter-spacing: 3px; */
    line-height: 1;
}
.fim-profile-score{
    font-size: 34px;
    line-height: 1;
    font-weight: 950;
    color: #fff;
}
.fim-profile-score small{
    font-size: 18px;
    font-weight: 800;
    color: rgba(255,255,255,.86);
}
.fim-profile-rating p{
    color: rgba(255,255,255,.84);
    margin: -4px 0 0;
    font-size: 15px;
}
.fim-rating-bar{
    height: 9px;
    width: 100%;
    border-radius: 999px;
    background: rgba(255,255,255,.22);
    overflow: hidden;
}
.fim-rating-bar span{
    display: block;
    height: 100%;
    width: 92%;
    border-radius: inherit;
    background: linear-gradient(90deg, #facc15, #20C4A8);
}
.fim-profile-side-grid{
    display: grid;
    gap: 16px;
}
.fim-profile-side-grid .fim-hero-card + .fim-hero-card{
    text-align: center;
}
.fim-profile-hours-title{
    display: block;
    color: #fff;
    font-weight: 950;
    margin-bottom: 4px;
}
.fim-profile-hours-text{
    color: rgba(255,255,255,.82);
    margin: 0;
}
.fim-profile-body{
    width: min(1240px, calc(100% - 40px));
    margin: 42px auto 82px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 370px;
    gap: 24px;
    align-items: start;
}
.fim-profile-body main,
.fim-profile-body aside{
    display: grid;
    gap: 20px;
}
.fim-profile-body .fim-panel{
    border-radius: 22px;
    border: 1px solid var(--fim-border);
    box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
    padding: 26px;
}
.fim-profile-body .fim-h2{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 23px;
    margin-bottom: 16px;
}
.fim-profile-body .fim-h2::before{
    content: "";
    width: 10px;
    height: 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--fim-brand), var(--fim-brand-2));
}
.fim-service-list{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.fim-service{
    border: 1px solid var(--fim-border);
    border-radius: 18px;
    padding: 18px;
    background:
        radial-gradient(circle at top right, rgba(32,196,168,.08), transparent 34%),
        #fff;
    transition: .22s ease;
}
.fim-service:hover{
    transform: translateY(-3px);
    border-color: rgba(32,196,168,.42);
    box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}
.fim-service > i{
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: #e8fbf7;
    color: var(--fim-brand-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 10px;
}
.fim-map{
    width: 100%;
    height: 300px;
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #f1f5f9;
}
.fim-file{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 0;
    border-bottom: 1px solid #eef2f7;
}
.fim-file:last-child{
    border-bottom: 0;
}
.fim-file strong{
    color: #0f2135;
}
.fim-file a{
    color: var(--fim-brand-2);
    font-weight: ;
    text-decoration: none;
}
.fim-locked{
    border: 1px dashed rgba(245,158,11,.55);
    background:
        radial-gradient(circle at top right, rgba(245,158,11,.12), transparent 34%),
        #fffaf0;
    border-radius: 20px;
    padding: 22px;
    color: #7c4a03;
}
.fim-locked strong{
    display: flex;
    align-items: center;
    gap: 8px;
    color: #92400e;
    margin-bottom: 8px;
    font-size: 16px;
}
.fim-locked strong::before{
    content: "";
    font-family: "Font Awesome 6 Free";
    font-weight: ;
}
.fim-badge{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 999px;
    padding: 7px 11px;
    font-size: 12px;
    font-weight: 950;
    background: #e8fbf7;
    color: var(--fim-brand-2);
}
.fim-badge-gold{
    background: linear-gradient(135deg, #facc15, #f59e0b);
    color: #fff;
    box-shadow: 0 10px 20px rgba(245,158,11,.22);
}
@media (max-width:1100px){
    .fim-profile-inner{
        grid-template-columns: 1fr;
        gap: 26px;
    }
    .fim-profile-body{
        grid-template-columns: 1fr;
    }
    .fim-profile-side-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:820px){
    .fim-profile-hero{
        padding: 42px 0;
    }
    .fim-profile-card{
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }
    .fim-profile-logo{
        width: 128px;
        height: 128px;
    }
    .fim-profile-card .fim-muted{
        font-size: 16px;
    }
    .fim-profile-actions,
.fim-socials{
        justify-content: center;
    }
    .fim-profile-side-grid{
        grid-template-columns: 1fr;
    }
    .fim-service-list{
        grid-template-columns: 1fr;
    }
}
@media (max-width:520px){
    .fim-profile-inner,
.fim-profile-body{
        width: calc(100% - 28px);
    }
    .fim-profile-actions .fim-btn,
.fim-profile-actions .fim-card-action{
        width: 100%;
    }
    .fim-title{
        font-size: 32px;
    }
}
/* ==========================================================================
   FINDINMOZ — PERFIL PÚBLICO DA ENTIDADE (entidades.php)
   Classes fimp-* usadas exclusivamente na página entidades.php.
   ========================================================================== */
.fimp-shell{
    background:
        radial-gradient(circle at 5% 0%, rgba(32, 196, 168, .10), transparent 28%),
        linear-gradient(180deg, #f6fbfa 0%, #ffffff 42%, #f8fcfc 100%);
    padding: 34px 0 78px;
}
.fimp-container{
    width: min(1280px, calc(100% - 40px));
    margin-inline: auto;
}
.fimp-hero-card{
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    padding: 42px;
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr) 350px;
    gap: 34px;
    align-items: center;
    box-shadow: 0 30px 80px rgba(15, 23, 42, .18);
    isolation: isolate;
}
.fimp-hero-card::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .28;
    background:
        none;
    background-size:auto !important;
}
.fimp-hero-card.is-premium{
    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.18), transparent 30%),
        radial-gradient(circle at 92% 12%, rgba(32,196,168,.28), transparent 34%),
        linear-gradient(135deg, #249b89 0%, #126d62 44%, #04242d 100%);
}
.fimp-hero-card.is-standard{
    background:
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.12), transparent 30%),
        linear-gradient(135deg, #334a5c 0%, #162836 100%);
}
.fimp-hero-glow{
    position: absolute;
    width: 540px;
    height: 540px;
    right: -210px;
    top: -220px;
    z-index: -1;
    background: radial-gradient(circle, rgba(32,196,168,.30), transparent 70%);
    pointer-events: none;
}
.fimp-brand-col,
.fimp-info-col,
.fimp-score-col{
    position: relative;
    z-index: 2;
}
.fimp-brand-col{
    display: grid;
    justify-items: center;
    gap: 16px;
}
.fimp-logo-ring{
    position: relative;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    padding: 6px;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(12px);
    box-shadow: 0 24px 48px rgba(0,0,0,.20);
    overflow: hidden;
    animation: fimpSoftPulse 5.5s ease-in-out infinite;
}
/* brilho subtil premium */
.fimp-logo-ring::before{
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.18),
            rgba(255,255,255,0),
            rgba(255,255,255,.10)
        );
    opacity: .55;
    animation: fimpGlowRotate 10s linear infinite;
}
/* brilho interno suave */
.fimp-logo-ring::after{
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(255,255,255,.10),
        transparent 72%
    );
    pointer-events: none;
    animation: fimpInnerBlink 4.5s ease-in-out infinite;
}
.fimp-logo-ring img{
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    padding: 8px;
    transition:
        transform .6s ease,
        filter .6s ease;
}
/* badge base SEM brilho */
.fimp-plan-badge{
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 950;
    /* letter-spacing: .01em; */
    white-space: nowrap;
}
/* remove qualquer brilho herdado */
.fimp-plan-badge::before{
    content: none;
}
/* brilho APENAS no badge premium/gold */
.fimp-plan-badge.gold::before{
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.32),
        transparent
    );
    transform: skewX(-25deg);
    animation: fimpBadgeShine 5.8s ease-in-out infinite;
    pointer-events: none;
}
/* texto e ícone acima do brilho */
.fimp-plan-badge i,
.fimp-plan-badge span{
    position: relative;
    z-index: 2;
}
.fimp-plan-badge.gold{
    color: #fff;
    background: linear-gradient(135deg, #facc15, #f59e0b);
    box-shadow: 0 16px 32px rgba(245, 158, 11, .28);
}
.fimp-plan-badge.standard{
    color: #fff;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.18);
}
@keyframes fimpSoftPulse{
    0%{
        transform: scale(1);
        box-shadow:
            0 24px 48px rgba(0,0,0,.20),
            0 0 0 rgba(255,255,255,0);
    }
    50%{
        transform: scale(1.018);
        box-shadow:
            0 28px 58px rgba(0,0,0,.24),
            0 0 28px rgba(255,255,255,.10);
    }
    100%{
        transform: scale(1);
        box-shadow:
            0 24px 48px rgba(0,0,0,.20),
            0 0 0 rgba(255,255,255,0);
    }
}
@keyframes fimpGlowRotate{
    0%{
        transform: rotate(0deg);
        opacity: .45;
    }
    50%{
        opacity: .70;
    }
    100%{
        transform: rotate(360deg);
        opacity: .45;
    }
}
@keyframes fimpInnerBlink{
    0%{
        opacity: .25;
    }
    50%{
        opacity: .55;
    }
    100%{
        opacity: .25;
    }
}
@keyframes fimpBadgeShine{
    0%{
        left: -120%;
        opacity: 0;
    }
    18%{
        opacity: 1;
    }
    40%{
        left: 140%;
        opacity: 0;
    }
    100%{
        left: 140%;
        opacity: 0;
    }
}
.fimp-kicker{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.16);
    color: #dffff8;
    font-size: 13px;
    font-weight: 850;
    backdrop-filter: blur(10px);
}
.fimp-kicker span{
    opacity: .82;
    padding-left: 10px;
    border-left: 1px solid rgba(255,255,255,.22);
}
.fimp-info-col h1{
    margin: 18px 0 12px;
    color: #fff;
    font-size: clamp(36px, 4.2vw, 58px);
    line-height: 1.02;
    font-weight: 950;
    /* letter-spacing: -.045em; */
    text-shadow: 0 12px 26px rgba(0,0,0,.17);
}
.fimp-lead{
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.90);
    font-size: 18px;
    line-height: 1.72;
}
.fimp-actions-row{
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 26px;
}
.fimp-action{
    min-height: 54px;
    padding: 0 22px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.24);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: ;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
    transition: transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}
.fimp-action:hover{
    transform: translateY(-2px);
    background: rgba(255,255,255,.16);
    color: #fff;
}
.fimp-action.primary{
    color: #109b7e;
    background: #fff;
    border-color: #fff;
    box-shadow: 0 18px 34px rgba(0,0,0,.16);
}
.fimp-action.primary:hover{
    color: #0d8d73;
    box-shadow: 0 24px 44px rgba(0,0,0,.20);
}
.fimp-action.locked{
    cursor: not-allowed;
    opacity: .78;
}
.fimp-social-row{
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
}
.fimp-social-row a{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(10px);
    transition: transform .22s ease, background .22s ease, color .22s ease;
}
.fimp-social-row a:hover{
    transform: translateY(-2px);
    background: #fff;
    color: var(--fim-brand-2);
}
.locked-socials{
    color: rgba(255,255,255,.82);
    font-weight: 780;
}
.fimp-score-col{
    display: grid;
    gap: 16px;
}
.fimp-score-card,
.fimp-hours-card{
    padding: 24px;
    border-radius: 24px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(16px);
    box-shadow: 0 20px 45px rgba(0,0,0,.12);
}
.fimp-stars{
    display: flex;
    gap: 5px;
    margin-bottom: 18px;
    color: #facc15;
    font-size: 24px;
    line-height: 1;
}
.fimp-score-card strong{
    display: block;
    color: #fff;
    font-size: 40px;
    line-height: 1;
    font-weight: 950;
}
.fimp-score-card span,
.fimp-hours-card span{
    display: block;
    margin-top: 10px;
    color: rgba(255,255,255,.84);
    font-size: 15px;
    line-height: 1.55;
}
.fimp-score-bar{
    height: 10px;
    margin-top: 18px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255,255,255,.22);
}
.fimp-score-bar i{
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #facc15, var(--fim-brand));
}
.fimp-hours-card strong{
    display: block;
    color: #fff;
    font-size: 21px;
    font-weight: 950;
}
.fimp-upgrade-note{
    margin-top: 24px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(245,158,11,.14), transparent 34%),
        #fffaf0;
    border: 1px solid #f4d9a4;
    padding: 22px 24px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
}
.fimp-upgrade-note strong{
    display: block;
    font-size: 18px;
    color: #8a5a00;
}
.fimp-upgrade-note p{
    margin: 7px 0 0;
    color: #6c4c14;
    line-height: 1.55;
}
.fimp-upgrade-btn{
    min-height: 50px;
    padding: 0 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--fim-brand), var(--fim-brand-2));
    color: #fff;
    font-weight: 950;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    white-space: nowrap;
    box-shadow: 0 14px 28px rgba(32, 196, 168, .24);
}
.fimp-upgrade-btn:hover{
    color: #fff;
    transform: translateY(-1px);
}
.fimp-content-grid{
    margin-top: 28px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 370px;
    gap: 24px;
    align-items: start;
}
.fimp-main-col,
.fimp-side-col{
    display: grid;
    gap: 20px;
}
.fimp-panel{
    background: #fff;
    border: 1px solid var(--fim-border);
    border-radius: 24px;
    padding: 26px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
}
.fimp-panel-title{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.fimp-panel-title > i{
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #e8fbf7;
    color: var(--fim-brand-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 18px;
}
.fimp-panel-title h2{
    margin: 0;
    color: #0f2135;
    font-size: 23px;
    line-height: 1.15;
    /* letter-spacing: -.02em; */
}
.fimp-text{
    margin: 0;
    color: #53657a;
    line-height: 1.78;
    font-size: 16px;
}
.fimp-service-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.fimp-service-card{
    border: 1px solid var(--fim-border);
    border-radius: 19px;
    padding: 18px;
    background:
        radial-gradient(circle at top right, rgba(32,196,168,.09), transparent 34%),
        #fff;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.fimp-service-card:hover{
    transform: translateY(-3px);
    border-color: rgba(32,196,168,.42);
    box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}
.fimp-service-icon{
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: #e8fbf7;
    color: var(--fim-brand-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    margin-bottom: 12px;
}
.fimp-service-card h3{
    margin: 0 0 7px;
    color: #0f2135;
    font-size: 17px;
}
.fimp-service-card p{
    margin: 0;
    color: #64748b;
    line-height: 1.58;
}
.fimp-service-card span{
    margin-top: 10px;
    display: inline-flex;
    color: var(--fim-brand-2);
    font-weight: 850;
    font-size: 13px;
}
.fimp-file-list,
.fimp-review-list,
.fimp-hours-list{
    display: grid;
    gap: 12px;
}
.fimp-file-item,
.fimp-review-item{
    border: 1px solid #eef2f7;
    border-radius: 18px;
    background: #fbfefd;
    padding: 16px;
}
.fimp-file-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.fimp-file-item strong,
.fimp-review-item strong{
    display: block;
    color: #0f2135;
}
.fimp-file-item span{
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 13px;
}
.fimp-file-item a{
    flex: 0 0 auto;
    color: var(--fim-brand-2);
    text-decoration: none;
    font-weight: ;
}
.fimp-review-stars{
    color: #f59e0b;
    /* letter-spacing: 2px; */
    margin: 8px 0;
}
.fimp-review-item p{
    margin: 0;
    color: #64748b;
    line-height: 1.6;
}
.fimp-contact-panel p{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 13px 0;
    border-bottom: 1px solid #eef2f7;
    color: #53657a;
    line-height: 1.55;
}
.fimp-contact-panel p:last-child{
    border-bottom: 0;
}
.fimp-contact-panel p i{
    color: var(--fim-brand-2);
    margin-top: 3px;
    width: 18px;
}
.fimp-locked-line{
    color: #9a6a16 !important;
}
.fimp-hours-list > div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid #eef2f7;
}
.fimp-hours-list > div:last-child{
    border-bottom: 0;
}
.fimp-hours-list span{
    color: #64748b;
}
.fimp-hours-list strong{
    color: #0f2135;
}
.fimp-map{
    width: 100%;
    height: 300px;
    border: 0;
    border-radius: 18px;
    background: #f1f5f9;
}
.fimp-locked-panel{
    border-style: dashed;
    border-color: rgba(245, 158, 11, .55);
    background:
        radial-gradient(circle at top right, rgba(245,158,11,.12), transparent 34%),
        #fffaf0;
}
.fimp-locked-panel .fimp-panel-title > i{
    background: #fff3d5;
    color: #b45309;
}
.fimp-locked-panel p{
    margin: 0;
    color: #7c4a03;
    line-height: 1.6;
}
@media (max-width: 1180px){
    .fimp-hero-card{
        grid-template-columns: 145px minmax(0, 1fr);
    }
    .fimp-score-col{
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 980px){
    .fimp-content-grid{
        grid-template-columns: 1fr;
    }
}
@media (max-width: 820px){
    .fimp-shell{
        padding: 22px 0 58px;
    }
    .fimp-container{
        width: calc(100% - 28px);
    }
    .fimp-hero-card{
        grid-template-columns: 1fr;
        padding: 28px;
        border-radius: 28px;
        text-align: center;
    }
    .fimp-brand-col{
        justify-items: center;
    }
    .fimp-logo-ring{
        width: 130px;
        height: 130px;
    }
    .fimp-kicker,
.fimp-actions-row,
.fimp-social-row{
        justify-content: center;
    }
    .fimp-lead{
        font-size: 16px;
    }
    .fimp-score-col{
        grid-template-columns: 1fr;
    }
    .fimp-service-grid{
        grid-template-columns: 1fr;
    }
    .fimp-upgrade-note{
        flex-direction: column;
        align-items: stretch;
    }
    .fimp-upgrade-btn{
        width: 100%;
    }
}
@media (max-width: 540px){
    .fimp-container{
        width: calc(100% - 24px);
    }
    .fimp-hero-card,
.fimp-panel{
        padding: 22px;
    }
    .fimp-info-col h1{
        font-size: 32px;
    }
    .fimp-action,
.fimp-file-item a{
        width: 100%;
    }
    .fimp-file-item{
        flex-direction: column;
        align-items: flex-start;
    }
    .fimp-action{
        min-height: 52px;
    }
}
/* FINDINMOZ — Profissionais/avaliações: adicionar no final do css/findinmoz-app.css */
.fim-prof-hero{background:radial-gradient(circle at 80% 20%,rgba(32,196,168,.25),transparent 32%),linear-gradient(135deg,#061a2b,#0b3b48);color:#fff;padding:70px 0}.fim-prof-hero-grid{display:grid;grid-template-columns:1fr 520px;gap:44px;align-items:center}.fim-prof-hero h1{color:#fff}.fim-prof-hero p{line-height:1.65;color:#d7f7f1}.fim-prof-search{background:#fff;border-radius:24px;padding:22px;display:grid;gap:12px;box-shadow:var(--fim-shadow-lg)}.fim-prof-search .fim-field{height:54px}.fim-prof-location{height:48px;border:1px solid var(--fim-border);border-radius:12px;background:#f8fafc;color:#0f2135;font-weight:900;cursor:pointer}.fim-prof-card{background:#fff;border:1px solid var(--fim-border);border-radius:22px;padding:20px;box-shadow:0 14px 45px rgba(15,23,42,.06);position:relative;overflow:hidden}.fim-prof-card.is-featured{border-color:rgba(32,196,168,.45);box-shadow:var(--fim-shadow)}.fim-prof-card.is-featured:before{content:"Destaque";position:absolute;top:16px;right:-34px;transform:rotate(38deg);background:linear-gradient(135deg,var(--fim-brand),var(--fim-brand-2));color:#fff;font-size:11px;font-weight:900;padding:6px 40px}.fim-prof-card-top{display:flex;gap:14px;align-items:center}.fim-prof-card-top img{width:78px;height:78px;border-radius:20px;object-fit:cover;border:1px solid var(--fim-border)}.fim-prof-category{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:900;color:var(--fim-brand-2);background:#e8fbf7;border-radius:999px;padding:6px 9px}.fim-prof-card h3{font-size:20px;margin:9px 0 4px}.fim-prof-rating{display:flex;align-items:center;gap:8px;margin:14px 0;color:#f59e0b}.fim-prof-desc{color:#64748b;line-height:1.55;min-height:62px}.fim-prof-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.fim-prof-meta span{font-size:12px;font-weight:800;background:#f8fafc;border:1px solid var(--fim-border);padding:7px 9px;border-radius:999px;color:#334155}.fim-prof-recommended{border-radius:14px;background:#fff7ed;color:#b45309;font-weight:900;padding:10px 12px;margin:12px 0}.fim-prof-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.fim-prof-actions a{height:40px;padding:0 14px;border-radius:11px;border:1px solid var(--fim-border);display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#102033;font-weight:900;background:#fff}.fim-prof-actions .is-primary{background:linear-gradient(135deg,var(--fim-brand),var(--fim-brand-2));color:#fff;border-color:transparent}.fim-prof-profile-hero{padding:62px 0;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(32,196,168,.28),transparent 34%),linear-gradient(135deg,#052032,#0a7066)}.fim-prof-profile-hero.is-locked{background:linear-gradient(135deg,#374151,#111827)}.fim-prof-profile-grid{display:grid;grid-template-columns:1fr 330px;gap:28px;align-items:center}.fim-prof-profile-main>img{width:148px;height:148px;border-radius:34px;object-fit:cover;background:#fff;border:8px solid rgba(255,255,255,.22)}.fim-prof-profile-main h1{font-size:clamp(34px,4vw,54px);line-height:1.05;margin:12px 0;color:#fff}.fim-prof-profile-main p{color:#e6fffb;line-height:1.65;max-width:760px}.fim-prof-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.fim-prof-scorebox{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border-radius:24px;padding:24px;box-shadow:0 18px 45px rgba(0,0,0,.14)}.fim-prof-scorebox strong{display:block;font-size:34px;color:#fff;margin:8px 0}.fim-prof-scorebox small{display:block;color:#d7f7f1}.fim-prof-scorebox em{display:inline-flex;gap:8px;align-items:center;margin-top:14px;background:#fff7ed;color:#b45309;padding:9px 12px;border-radius:999px;font-style:normal;font-weight:900}.fim-prof-detail-grid{display:grid;grid-template-columns:1fr 360px;gap:24px}.fim-prof-detail-grid main,
.fim-prof-detail-grid aside{display:grid;gap:18px}.fim-prof-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fim-prof-work-grid article,
.fim-review-item{border:1px solid var(--fim-border);border-radius:18px;background:#fff;padding:18px}.fim-prof-work-grid h3{margin:0 0 8px;color:#0f2135}.fim-prof-work-grid p,
.fim-review-item p{color:#64748b;line-height:1.55}.fim-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fim-form-grid input,
.fim-form-grid textarea{height:48px;border:1px solid #dbe5ee;border-radius:12px;padding:0 12px;outline:none}.fim-form-grid textarea{grid-column:1/-1;min-height:120px;padding:12px}.fim-form-grid button{width:max-content}.fim-review-item div{color:#f59e0b;margin:6px 0}.fim-locked{border:1px dashed #f1c27d;background:#fffaf0;border-radius:20px;padding:22px;color:#7c4a03}@media (max-width:1100px){.fim-prof-hero-grid,
.fim-prof-grid,
.fim-prof-profile-grid,
.fim-prof-detail-grid{grid-template-columns:1fr}.fim-prof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.fim-prof-grid,
.fim-prof-work-grid,
.fim-form-grid{grid-template-columns:1fr}.fim-prof-profile-main{flex-direction:column;text-align:center}.fim-prof-profile-actions{justify-content:center}.fim-prof-card-top{align-items:flex-start}.fim-prof-hero{padding:48px 0}}
/* =========================================================
   FINDINMOZ — PAGINAÇÃO / VER MAIS
========================================================= */
.fim-pagination{
    margin-top: 28px;
    padding: 20px;
    border: 1px solid var(--fim-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 45px rgba(15, 23, 42, .06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}
.fim-pagination-summary{
    color: var(--fim-muted);
    font-weight: 800;
    font-size: 14px;
}

.fim-page-btn,
.fim-page-number{
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    border-radius: 13px;
    border: 1px solid var(--fim-border);
    background: #fff;
    color: #102033;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    font-weight: ;
    transition: .22s ease;
}
.fim-page-number.is-active,
.fim-page-btn.is-primary,
.fim-page-btn:hover,
.fim-page-number:hover{
    border-color: transparent;
    background: linear-gradient(135deg, var(--fim-brand), var(--fim-brand-2));
    color: #fff;
    box-shadow: 0 14px 28px rgba(32, 196, 168, .22);
    transform: translateY(-1px);
}
@media (max-width:620px){
    .fim-pagination,
.fim-pagination-actions{
        display: grid;
        width: 100%;
    }
    .fim-page-btn,
.fim-page-number{
        width: 100%;
    }
}
/* =========================================================
   FINDINMOZ — PAGINAÇÃO CORRIGIDA + MODOS DE VISUALIZAÇÃO
========================================================= */
.fim-results-toolbar{
    background: #fff;
    border: 1px solid var(--fim-border);
    border-radius: 20px;
    padding: 14px 16px;
    margin-bottom: 16px;
    box-shadow: 0 12px 35px rgba(15, 23, 42, .055);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.fim-results-toolbar strong{
    display: block;
    color: #0f2135;
    font-size: 15px;
    font-weight: 950;
}
.fim-results-toolbar span{
    display: block;
    color: var(--fim-muted);
    font-size: 13px;
    margin-top: 2px;
}

.fim-view-switch a{
    height: 40px;
    padding: 0 13px;
    border: 1px solid var(--fim-border);
    border-radius: 12px;
    background: #fff;
    color: #102033;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 13px;
    font-weight: ;
    text-decoration: none;
    transition: .22s ease;
}
.fim-view-switch a:hover,
.fim-view-switch a.is-active{
    border-color: transparent;
    color: #fff;
    background: linear-gradient(135deg, var(--fim-brand), var(--fim-brand-2));
    box-shadow: 0 12px 24px rgba(32, 196, 168, .18);
}
/* Entidades: modo grelha */
.fim-results-list.fim-view-grelha{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.fim-results-list.fim-view-grelha .fim-result-card{
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    height: 100%;
}
.fim-results-list.fim-view-grelha .fim-result-logo{
    width: 86px;
    height: 86px;
}
/* Entidades: modo compacto */
.fim-results-list.fim-view-compacto{
    display: grid;
    gap: 10px;
}
.fim-results-list.fim-view-compacto .fim-result-card{
    padding: 12px 14px;
    align-items: center;
    border-radius: 16px;
}
.fim-results-list.fim-view-compacto .fim-result-logo{
    width: 58px;
    height: 58px;
    border-radius: 14px;
}

.fim-results-list.fim-view-compacto .fim-result-card h2{
    margin: 4px 0;
    font-size: 17px;
}

/* Profissionais: modo lista */
.fim-prof-grid.fim-view-lista{
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
.fim-prof-grid.fim-view-lista .fim-prof-card{
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
    gap: 18px;
    align-items: center;
}
.fim-prof-grid.fim-view-lista .fim-prof-desc{
    min-height: auto;
}
.fim-prof-grid.fim-view-lista .fim-prof-rating,
.fim-prof-grid.fim-view-lista .fim-prof-meta,
.fim-prof-grid.fim-view-lista .fim-prof-actions,
.fim-prof-grid.fim-view-lista .fim-prof-recommended{
    margin: 8px 0;
}
/* Profissionais: modo compacto */
.fim-prof-grid.fim-view-compacto{
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.fim-prof-grid.fim-view-compacto .fim-prof-card{
    padding: 12px 14px;
    border-radius: 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}
.fim-prof-grid.fim-view-compacto .fim-prof-card-top img{
    width: 56px;
    height: 56px;
    border-radius: 14px;
}
.fim-prof-grid.fim-view-compacto .fim-prof-card h3{
    font-size: 17px;
    margin: 5px 0 2px;
}

.fim-prof-grid.fim-view-compacto .fim-prof-rating{
    margin: 4px 0;
}
.fim-prof-grid.fim-view-compacto .fim-prof-actions{
    justify-content: flex-end;
}

@media (max-width: 1100px){
    .fim-results-list.fim-view-grelha{
        grid-template-columns: 1fr;
    }
    .fim-prof-grid.fim-view-lista .fim-prof-card,
.fim-prof-grid.fim-view-compacto .fim-prof-card{
        grid-template-columns: 1fr;
    }
    .fim-prof-grid.fim-view-compacto .fim-prof-actions{
        justify-content: flex-end;
    }
}
@media (max-width: 620px){
    .fim-results-toolbar,
.fim-view-switch,
.fim-view-switch a{
        width: 100%;
    }
    .fim-view-switch{
        display: grid;
        grid-template-columns: 1fr;
    }
    .fim-results-list.fim-view-grelha .fim-result-card,
.fim-results-list.fim-view-compacto .fim-result-card{
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   FINDINMOZ — PESQUISA/PAGINAÇÃO/VISUALIZAÇÕES PRO FIX
   Corrige estrutura da pesquisa, paginação e tamanhos dos cards
========================================================= */
.fim-results-layout{
    align-items:flex-start;
}
.fim-results-main{
    min-width:0;
    display:grid;
    gap:16px;
}
.fim-results-toolbar{
    background:#fff;
    border:1px solid var(--fim-border);
    border-radius:18px;
    padding:14px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.fim-results-toolbar strong{
    display:block;
    font-size:16px;
    color:#0f2135;
    font-weight:950;
}
.fim-results-toolbar span{
    display:block;
    margin-top:3px;
    font-size:13px;
    color:var(--fim-muted);
}
.fim-view-switch{
    display:flex;
    align-items:center;
    gap:6px;
    padding:5px;
    border-radius:14px;
    background:#f3f8f8;
    border:1px solid #e2ecef;
}
.fim-view-switch a{
    height:36px;
    padding:0 12px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    text-decoration:none;
    color:#526173;
    font-weight:500;
    font-size:13px;
    transition:.18s ease;
}
.fim-view-switch a:hover,
.fim-view-switch a.is-active{
    background:#fff;
    color:var(--fim-brand-2);
    box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.fim-results-list{
    display:grid;
    gap:12px;
}
.fim-result-card{
    position:relative;
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:14px;
    padding:14px;
    border-radius:18px;
    background:#fff;
    border:1px solid var(--fim-border);
    box-shadow:0 10px 28px rgba(15,23,42,.055);
    transition:.18s ease;
}
.fim-result-card:hover{
    transform:translateY(-2px);
    border-color:rgba(32,196,168,.34);
    box-shadow:0 18px 42px rgba(15,23,42,.09);
}
.fim-result-card.is-premium::before{
    content:"";
    position:absolute;
    left:0;
    top:14px;
    bottom:14px;
    width:4px;
    border-radius:0 999px 999px 0;
    background:linear-gradient(180deg,#f59e0b,var(--fim-brand));
}
.fim-result-logo{
    width:82px;
    height:82px;
    border-radius:16px;
    border:1px solid var(--fim-border);
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.fim-result-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:7px;
}
.fim-result-content{min-width:0;}
.fim-result-line{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    font-size:12px;
    color:#64748b;
}
.fim-result-line > span:first-child{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.fim-result-line i{color:var(--fim-brand-2);}
.fim-result-line b{
    flex:0 0 auto;
    color:#b45309;
    background:#fff7ed;
    padding:4px 8px;
    border-radius:999px;
    font-size:11px;
}
.fim-result-card h2{
    margin:6px 0 5px;
    font-size:18px;
    line-height:1.2;
}
.fim-result-card h2 a{
    color:#0f2135;
    text-decoration:none;
}
.fim-result-card h2 a:hover{color:var(--fim-brand-2);}
.fim-result-card p{
    color:#64748b;
    font-size:13px;
    line-height:1.45;
    margin:0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.fim-result-meta{
    margin:9px 0 10px;
    display:flex;
    gap:8px 14px;
    flex-wrap:wrap;
    color:#64748b;
    font-size:12px;
}
.fim-result-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.fim-result-meta i{color:var(--fim-brand-2);}
.fim-result-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.fim-result-actions a{
    height:34px;
    padding:0 11px;
    border-radius:10px;
    border:1px solid var(--fim-border);
    background:#fff;
    color:#102033;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-size:12px;
    font-weight:500;
}
.fim-result-actions a.is-primary{
    background:linear-gradient(135deg,var(--fim-brand),var(--fim-brand-2));
    color:#fff;
    border-color:transparent;
}
.fim-results-list.fim-view-grelha{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.fim-results-list.fim-view-grelha .fim-result-card{
    grid-template-columns:1fr;
    padding:15px;
}
.fim-results-list.fim-view-grelha .fim-result-logo{
    width:72px;
    height:72px;
}
.fim-results-list.fim-view-grelha .fim-result-line{
    align-items:flex-start;
}
.fim-results-list.fim-view-grelha .fim-result-actions a{
    flex:1 1 auto;
}
.fim-results-list.fim-view-compacto{
    gap:8px;
}
.fim-results-list.fim-view-compacto .fim-result-card{
    grid-template-columns:54px minmax(0,1fr);
    padding:10px 12px;
    border-radius:15px;
    align-items:center;
}
.fim-results-list.fim-view-compacto .fim-result-logo{
    width:54px;
    height:54px;
    border-radius:13px;
}
.fim-results-list.fim-view-compacto .fim-result-card h2{
    font-size:15px;
    margin:4px 0;
}
.fim-results-list.fim-view-compacto .fim-result-card p,
.fim-results-list.fim-view-compacto .fim-result-meta{
    display:none;
}
.fim-results-list.fim-view-compacto .fim-result-actions{
    margin-top:7px;
}
.fim-results-list.fim-view-compacto .fim-result-actions a:not(.is-primary){
    display:none;
}
.fim-results-list.fim-view-compacto .fim-result-actions a{
    height:30px;
    font-size:11px;
}
.fim-pagination{
    margin-top:8px;
    background:#fff;
    border:1px solid var(--fim-border);
    border-radius:18px;
    padding:13px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.fim-pagination-summary{
    font-weight:900;
    color:#334155;
    font-size:13px;
}
.fim-pagination-actions{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}
.fim-page-btn,
.fim-page-number{
    min-width:38px;
    height:38px;
    padding:0 12px;
    border-radius:11px;
    border:1px solid var(--fim-border);
    background:#fff;
    color:#102033;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-size:13px;
    font-weight:900;
}
.fim-page-btn:hover,
.fim-page-number:hover,
.fim-page-number.is-active{
    border-color:transparent;
    color:#fff;
    background:linear-gradient(135deg,var(--fim-brand),var(--fim-brand-2));
}
.fim-page-btn.is-primary{
    border-color:transparent;
    color:#fff;
    background:linear-gradient(135deg,var(--fim-brand),var(--fim-brand-2));
}
/* Profissionais: cartões mais compactos e premium */
.fim-prof-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.fim-prof-card{
    border-radius:18px;
    padding:15px;
    border:1px solid var(--fim-border);
    background:#fff;
    box-shadow:0 10px 30px rgba(15,23,42,.055);
    transition:.18s ease;
}
.fim-prof-card:hover{
    transform:translateY(-2px);
    border-color:rgba(32,196,168,.34);
    box-shadow:0 18px 42px rgba(15,23,42,.09);
}
.fim-prof-card-top{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:12px;
    align-items:center;
}
.fim-prof-card-top img{
    width:58px;
    height:58px;
    border-radius:16px;
    object-fit:cover;
    border:1px solid var(--fim-border);
}
.fim-prof-category{
    display:block;
    max-width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    color:var(--fim-brand-2);
    font-size:11px;
    font-weight:900;
    margin-bottom:4px;
}
.fim-prof-card h3{
    margin:0 0 3px;
    font-size:16px;
    line-height:1.2;
}

.fim-prof-card-top p{
    margin:0;
    color:#64748b;
    font-size:12px;
}
.fim-prof-rating{
    margin:10px 0 8px;
    display:flex;
    align-items:center;
    gap:7px;
    font-size:12px;
}
.fim-prof-rating span{color:#f59e0b;letter-spacing:1px;}
.fim-prof-rating b{color:#0f2135;}
.fim-prof-rating small{color:#64748b;}
.fim-prof-desc{
    margin:0 0 10px;
    font-size:13px;
    color:#64748b;
    line-height:1.45;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.fim-prof-meta{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.fim-prof-meta span{
    font-size:11px;
    color:#334155;
    background:#f7fbfb;
    border:1px solid #e7f0f0;
    border-radius:999px;
    padding:5px 8px;
}
.fim-prof-recommended{
    margin-bottom:10px;
    padding:7px 9px;
    border-radius:12px;
    background:#fff7ed;
    color:#b45309;
    font-size:12px;
    font-weight:900;
}
.fim-prof-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.fim-prof-actions a{
    height:34px;
    padding:0 11px;
    border-radius:10px;
    border:1px solid var(--fim-border);
    background:#fff;
    color:#102033;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-size:12px;
    font-weight:500;
}
.fim-prof-actions a.is-primary{
    background:linear-gradient(135deg,var(--fim-brand),var(--fim-brand-2));
    color:#fff;
    border-color:transparent;
}
.fim-prof-grid.fim-view-lista{
    grid-template-columns:1fr;
}
.fim-prof-grid.fim-view-lista .fim-prof-card{
    display:grid;
    grid-template-columns:minmax(260px,1fr) auto;
    gap:12px;
    align-items:center;
}
.fim-prof-grid.fim-view-lista .fim-prof-desc{
    grid-column:1/-1;
    -webkit-line-clamp:1;
}
.fim-prof-grid.fim-view-lista .fim-prof-actions{
    justify-content:flex-end;
}
.fim-prof-grid.fim-view-compacto{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.fim-prof-grid.fim-view-compacto .fim-prof-card{
    padding:11px;
}
.fim-prof-grid.fim-view-compacto .fim-prof-card-top{
    grid-template-columns:46px minmax(0,1fr);
}
.fim-prof-grid.fim-view-compacto .fim-prof-card-top img{
    width:46px;
    height:46px;
    border-radius:13px;
}
.fim-prof-grid.fim-view-compacto .fim-prof-desc,
.fim-prof-grid.fim-view-compacto .fim-prof-recommended,
.fim-prof-grid.fim-view-compacto .fim-prof-meta span:nth-child(n/**/+2){
    display:none;
}
.fim-prof-grid.fim-view-compacto .fim-prof-actions a:not(.is-primary){
    display:none;
}
@media (max-width:1100px){
    .fim-results-layout{grid-template-columns:280px minmax(0,1fr);}
    .fim-results-list.fim-view-grelha,
.fim-prof-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:860px){
    .fim-results-layout{grid-template-columns:1fr;}
    .fim-results-filter{position:static;}
    .fim-results-toolbar,
.fim-pagination{align-items:flex-start;flex-direction:column;}
    .fim-view-switch{width:100%;overflow:auto;}
    .fim-view-switch a{flex:1;min-width:92px;}
}
@media (max-width:620px){
    .fim-results-list.fim-view-grelha,
.fim-prof-grid,
.fim-prof-grid.fim-view-compacto{grid-template-columns:1fr;}
    .fim-result-card,
.fim-results-list.fim-view-compacto .fim-result-card{grid-template-columns:62px minmax(0,1fr);}
    .fim-result-logo,
.fim-results-list.fim-view-compacto .fim-result-logo{width:62px;height:62px;}
    .fim-result-actions a{flex:1 1 auto;}
    .fim-prof-grid.fim-view-lista .fim-prof-card{display:block;}
    .fim-prof-grid.fim-view-lista .fim-prof-actions{justify-content:flex-end;}
}
/* AJAX LISTAGENS — pesquisas.php e profissionais.php */
.fim-ajax-results{
    position: relative;
    min-height: 220px;
}
.fim-ajax-results.is-loading{
    opacity: .58;
    pointer-events: none;
}
.fim-ajax-results.is-loading::after{
    content: "A carregar resultados...";
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
    background: #fff;
    color: var(--fim-brand-2);
    border: 1px solid var(--fim-border);
    border-radius: 999px;
    padding: 10px 16px;
    font-weight: ;
    box-shadow: var(--fim-shadow);
}
.fim-results-toolbar,
.fim-prof-toolbar{
    margin-bottom: 16px;
}
.fim-view-switch a,
.fim-pagination a{
    cursor: pointer;
}
/* FINDINMOZ PREMIUM BASE — colar no fim de css/findinmoz-app.css */
.fim-renewal-page{min-height:70vh;padding:72px 0;background:radial-gradient(circle at 20% 10%,rgba(32,196,168,.16),transparent 30%),linear-gradient(180deg,#f8fcfc,#fff)}
.fim-renewal-card{border-radius:32px;padding:48px;color:#fff;background:radial-gradient(circle at 78% 20%,rgba(255,255,255,.18),transparent 30%),linear-gradient(135deg,#061a2b,#0b5f5a 62%,#20C4A8);box-shadow:0 30px 80px rgba(15,23,42,.18);margin-bottom:28px}
.fim-renewal-kicker{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);font-weight:900}
.fim-renewal-card h1{margin:18px 0 10px;font-size:clamp(34px,4vw,58px);letter-spacing:-.04em}
.fim-renewal-card p{color:#e7fffb;font-size:18px;max-width:760px;line-height:1.7}
.fim-renewal-benefits{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}
.fim-renewal-benefits span{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-weight:500}
.fim-renewal-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fim-renewal-plan{position:relative;background:#fff;border:1px solid var(--fim-border,#e5edf3);border-radius:24px;padding:26px;box-shadow:0 16px 44px rgba(15,23,42,.07)}
.fim-renewal-plan.is-featured{border-color:rgba(32,196,168,.45);box-shadow:0 24px 60px rgba(32,196,168,.16)}
.fim-plan-ribbon{position:absolute;top:18px;right:18px;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:950;color:#fff;background:linear-gradient(135deg,#facc15,#f59e0b)}
.fim-renewal-plan h2{margin:0 0 10px;color:#0f2135}.fim-renewal-plan p{color:#64748b;line-height:1.6;min-height:50px}
.fim-renewal-plan strong{display:block;font-size:34px;color:#0f2135;margin:18px 0}.fim-renewal-plan strong small{font-size:14px;color:#64748b}
.fim-renewal-plan ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}.fim-renewal-plan li{display:flex;gap:9px;color:#334155}.fim-renewal-plan li i{color:var(--fim-brand,#20C4A8)}
.fim-ad-card{position:relative;overflow:hidden;border-radius:24px;background:#061a2b;color:#fff;min-height:180px;box-shadow:0 20px 56px rgba(15,23,42,.12)}
.fim-ad-card img,
.fim-ad-card video{width:100%;height:100%;min-height:180px;object-fit:cover;display:block;opacity:.82}

.fim-ad-card-content{position:absolute;inset:auto 18px 18px 18px;z-index:2}

@media (max-width:900px){.fim-renewal-plans{grid-template-columns:1fr}.fim-renewal-card{padding:30px;border-radius:24px}}
/* =========================================================
   FINDINMOZ PREMIUM FRONTEND — PARTE 02
   Cole no final de css/findinmoz-app.css
========================================================= */
.fim-pro-strip{
    position: relative;
    overflow: hidden;
    padding: 34px 0;
    background:
        radial-gradient(circle at 12% 20%, rgba(255,255,255,.12), transparent 28%),
        linear-gradient(135deg, #061a2b, #0a4c4b 58%, #20C4A8);
    color: #fff;
}
.fim-pro-strip-inner{
    display: grid;
    grid-template-columns: 1.35fr 1fr auto;
    align-items: center;
    gap: 28px;
}
.fim-pro-kicker{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.18);
    font-weight: 950;
    font-size: 12px;
    margin-bottom: 10px;
}
.fim-pro-strip h2{
    margin: 0 0 8px;
    font-size: clamp(24px, 2.5vw, 36px);
    letter-spacing: -.03em;
    color: #fff;
}
.fim-pro-strip p{
    color: #e7fffb;
    line-height: 1.65;
    margin: 0;
}
.fim-pro-benefits{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.fim-pro-benefits span{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    font-weight: 850;
}
.fim-premium-tabs-section{
    position: relative;
}
.fim-tab-shell{
    background: #fff;
    border: 1px solid var(--fim-border, #e5edf3);
    border-radius: 26px;
    padding: 18px;
    box-shadow: 0 18px 50px rgba(15,23,42,.07);
}
.fim-tab-nav{
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 16px;
    margin-bottom: 18px;
    scrollbar-width: thin;
}
.fim-tab-nav button{
    height: 44px;
    border: 1px solid var(--fim-border, #e5edf3);
    border-radius: 999px;
    background: #fff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    font-weight: ;
    white-space: nowrap;
    cursor: pointer;
    transition: .2s ease;
}
.fim-tab-nav button:hover,
.fim-tab-nav button.is-active{
    background: linear-gradient(135deg, var(--fim-brand, #20C4A8), var(--fim-brand-2, #17a890));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 14px 26px rgba(32,196,168,.22);
}
.fim-tab-content.is-loading{
    opacity: .45;
    pointer-events: none;
    min-height: 260px;
}
.fim-premium-card-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.fim-premium-prof-card,
.fim-premium-entity-card{
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(32,196,168,.08), transparent 34%),
        #fff;
    border: 1px solid var(--fim-border, #e5edf3);
    box-shadow: 0 16px 44px rgba(15,23,42,.07);
    padding: 18px;
    transition: .24s ease;
}
.fim-premium-prof-card:hover,
.fim-premium-entity-card:hover{
    transform: translateY(-5px);
    border-color: rgba(32,196,168,.45);
    box-shadow: 0 24px 62px rgba(15,23,42,.12);
}
.fim-premium-prof-card.is-recommended{
    border-color: rgba(245,158,11,.42);
}
.fim-recommended-badge{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 14px;
    border-radius: 999px;
    min-height: 30px;
    padding: 0 10px;
    font-size: 11px;
    font-weight: 950;
    color: #fff;
    background: linear-gradient(135deg, #facc15, #f59e0b);
    box-shadow: 0 12px 22px rgba(245,158,11,.24);
}
.fim-premium-prof-top{
    display: flex;
    gap: 13px;
    align-items: center;
}
.fim-premium-prof-photo{
    width: 76px;
    height: 76px;
    flex: 0 0 auto;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--fim-border, #e5edf3);
    background: #f8fafc;
}
.fim-premium-prof-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.fim-premium-category{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--fim-brand-2, #17a890);
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 5px;
}
.fim-premium-prof-card h3,
.fim-premium-entity-card h3{
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.2;
}
.fim-premium-prof-card h3 a,
.fim-premium-entity-card h3 a{
    color: #0f2135;
    text-decoration: none;
}
.fim-premium-prof-card p,
.fim-premium-entity-card p{
    color: #64748b;
    line-height: 1.55;
    font-size: 13px;
    margin: 0;
}
.fim-premium-rating{
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 13px 0;
    flex-wrap: wrap;
}
.fim-premium-rating span{
    color: #f59e0b;
    font-size: 13px;
    display: inline-flex;
    gap: 2px;
}
.fim-premium-rating strong{
    color: #0f2135;
    font-size: 14px;
}
.fim-premium-rating small{
    color: #64748b;
    font-size: 12px;
}
.fim-premium-level{
    position: relative;
    height: 34px;
    border-radius: 12px;
    background: #f1f5f9;
    overflow: hidden;
    margin-bottom: 13px;
}
.fim-premium-level span{
    position: relative;
    z-index: 2;
    height: 34px;
    display: flex;
    align-items: center;
    padding-left: 11px;
    font-size: 12px;
    font-weight: 950;
    color: #0f2135;
}
.fim-premium-level i{
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(32,196,168,.30), rgba(32,196,168,.72));
}
.fim-premium-desc{
    min-height: 42px;
    margin-bottom: 14px !important;
}
.fim-premium-actions{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.fim-premium-actions a{
    height: 36px;
    padding: 0 12px;
    border-radius: 11px;
    border: 1px solid var(--fim-border, #e5edf3);
    background: #fff;
    color: #102033;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    font-size: 12px;
    font-weight: ;
}
.fim-premium-actions a.is-primary{
    background: linear-gradient(135deg, var(--fim-brand, #20C4A8), var(--fim-brand-2, #17a890));
    color: #fff;
    border-color: transparent;
}
.fim-premium-entity-card{
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 14px;
}
.fim-premium-entity-logo{
    width: 76px;
    height: 76px;
    border-radius: 20px;
    border: 1px solid var(--fim-border, #e5edf3);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.fim-premium-entity-logo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 7px;
}
.fim-premium-entity-line{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    color: #64748b;
    margin-bottom: 8px;
}
.fim-premium-entity-line span{
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.fim-premium-entity-line b{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 5px 8px;
    color: #b45309;
    background: #fff7ed;
    font-size: 11px;
}
.fim-entities-attention{
    background:
        radial-gradient(circle at top left, rgba(32,196,168,.06), transparent 28%),
        #fff;
}

.fim-ads-home_hero{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fim-ads-entre_resultados{
    grid-template-columns: 1fr;
}
.fim-ads-lateral{
    grid-template-columns: 1fr;
}
@media (max-width: 1100px){
    .fim-premium-card-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fim-pro-strip-inner{
        grid-template-columns: 1fr;
    }
    .fim-ads-home_hero{
        grid-template-columns: 1fr;
    }
}
@media (max-width: 680px){
    .fim-premium-card-grid{
        grid-template-columns: 1fr;
    }
    .fim-premium-entity-card{
        grid-template-columns: 1fr;
    }
    .fim-premium-entity-logo{
        width: 68px;
        height: 68px;
    }
    .fim-tab-shell{
        padding: 14px;
        border-radius: 20px;
    }
}
/* =========================================================
   FINDINMOZ PREMIUM — LOGIN / CONTA / BLOQUEIO
   Cole no final de css/findinmoz-app.css
========================================================= */
.fim-login-premium-page{
    min-height: 72vh;
    padding: 76px 0;
    background:
        radial-gradient(circle at 15% 12%, rgba(32,196,168,.15), transparent 30%),
        linear-gradient(180deg, #f8fcfc, #fff);
}
.fim-login-grid{
    display: grid;
    grid-template-columns: 1fr 460px;
    gap: 42px;
    align-items: center;
}
.fim-login-copy{
    border-radius: 32px;
    padding: 46px;
    color: #fff;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 30%),
        linear-gradient(135deg, #061a2b, #0a5d58 58%, #20C4A8);
    box-shadow: 0 28px 74px rgba(15,23,42,.18);
}
.fim-login-professional .fim-login-copy{
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 30%),
        linear-gradient(135deg, #061a2b, #214d77 58%, #20C4A8);
}
.fim-login-kicker{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.18);
    font-weight: 950;
    font-size: 13px;
}
.fim-login-copy h1{
    margin: 18px 0 12px;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.05;
    color: #fff;
    letter-spacing: -.04em;
}
.fim-login-copy p{
    color: #e7fffb;
    font-size: 18px;
    line-height: 1.7;
    margin: 0;
}
.fim-login-benefits{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}
.fim-login-benefits span{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    font-weight: 850;
}
.fim-login-card{
    border-radius: 26px;
    background: #fff;
    border: 1px solid var(--fim-border, #e5edf3);
    box-shadow: 0 22px 64px rgba(15,23,42,.10);
    padding: 30px;
}
.fim-login-card h2{
    margin: 0 0 22px;
    color: #0f2135;
    font-size: 28px;
    letter-spacing: -.02em;
}
.fim-login-card label{
    display: block;
    margin: 14px 0 8px;
    font-weight: ;
    color: #334155;
}
.fim-login-btn{
    width: 100%;
    margin-top: 18px;
}
.fim-login-alert{
    border-radius: 14px;
    padding: 13px 14px;
    margin-bottom: 14px;
    color: #92400e;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    font-weight: 800;
}
.fim-login-small{
    text-align: center;
    color: #64748b;
    margin: 18px 0 0;
}
.fim-login-small a{
    color: var(--fim-brand-2, #17a890);
    font-weight: ;
    text-decoration: none;
}
.fim-account-hero{
    padding: 62px 0;
    color: #fff;
    background:
        radial-gradient(circle at top right, rgba(32,196,168,.26), transparent 32%),
        linear-gradient(135deg, #061a2b, #0b4c4b);
}
.fim-prof-panel-hero{
    background:
        radial-gradient(circle at top right, rgba(32,196,168,.22), transparent 32%),
        linear-gradient(135deg, #061a2b, #203e68);
}
.fim-account-hero-inner{
    display: grid;
    grid-template-columns: 1fr 330px;
    gap: 28px;
    align-items: center;
}
.fim-account-hero h1{
    color: #fff;
    letter-spacing: -.04em;
}
.fim-account-hero p{
    color: #dffff8;
    line-height: 1.65;
}
.fim-account-subscription{
    border-radius: 24px;
    padding: 22px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    backdrop-filter: blur(14px);
}
.fim-account-subscription strong,
.fim-account-subscription span,
.fim-account-subscription small{
    display: block;
}
.fim-account-subscription strong{
    color: #fff;
    font-size: 22px;
    margin-bottom: 10px;
}
.fim-account-subscription span,
.fim-account-subscription small{
    color: #dffff8;
    margin-bottom: 8px;
}
.fim-account-grid,
.fim-prof-panel-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}
.fim-prof-panel-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fim-account-list{
    display: grid;
    gap: 12px;
}
.fim-account-list div{
    border: 1px solid var(--fim-border, #e5edf3);
    border-radius: 14px;
    padding: 14px;
    background: #fbfefd;
}
.fim-account-list strong,
.fim-account-list span{
    display: block;
}

.fim-prof-score-card strong{
    display: block;
    font-size: 42px;
    color: var(--fim-brand-2, #17a890);
    margin: 8px 0;
}
@media (max-width: 980px){
    .fim-login-grid,
.fim-account-hero-inner,
.fim-account-grid,
.fim-prof-panel-grid{
        grid-template-columns: 1fr;
    }
    .fim-login-copy{
        padding: 32px;
        border-radius: 26px;
    }
}
/* =========================================================
   FINDINMOZ PREMIUM — PARTE 5+ COMPLEMENTOS
========================================================= */
.fim-pro-action-btn{height:38px;padding:0 13px;border-radius:12px;border:1px solid var(--fim-border,#e5edf3);background:#fff;color:#102033;font-weight:900;display:inline-flex;align-items:center;gap:8px;text-decoration:none;cursor:pointer}.fim-pro-action-btn.is-active,
.fim-pro-action-btn:hover{background:#e8fbf7;color:var(--fim-brand-2,#17a890);border-color:#b9f2e9}.fim-denuncia-box{border:1px dashed #f59e0b;background:#fffaf0;border-radius:18px;padding:18px;color:#7c4a03}.fim-premium-lock{border-radius:22px;background:linear-gradient(135deg,#061a2b,#0a5d58);color:#fff;padding:24px;box-shadow:0 18px 44px rgba(15,23,42,.16)}.fim-premium-lock h3{color:#fff;margin:0 0 8px}.fim-premium-lock p{color:#dffff8}.fim-admin-premium{padding:20px 0}.premium-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;padding:22px;border-radius:22px;background:radial-gradient(circle at top right,rgba(32,196,168,.14),transparent 28%),linear-gradient(135deg,#061a2b,#0b4c4b);color:#fff;box-shadow:0 20px 54px rgba(15,23,42,.15)}.premium-page-head h2{margin:8px 0 4px;color:#fff;font-weight:900}.premium-page-head p{margin:0;color:#d7fffa}.premium-kicker{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:900}.premium-panel{border-radius:18px;background:#fff;border:1px solid #e5edf3;box-shadow:0 14px 40px rgba(15,23,42,.06);padding:20px}.premium-filter-bar{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e5edf3;border-radius:16px;padding:14px;margin-bottom:18px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
/* FINDINMOZ PREMIUM ECOSYSTEM — integração visual */
.fim-marketing-hero{
  padding:72px 0;
  color:#fff;
  background:radial-gradient(circle at 78% 22%,rgba(32,196,168,.26),transparent 34%),linear-gradient(135deg,#061a2b,#0b4c4b 62%,#20C4A8);
}
.fim-marketing-hero-inner{display:grid;grid-template-columns:1fr 360px;gap:34px;align-items:center}
.fim-marketing-hero h1{color:#fff;letter-spacing:-.04em}
.fim-marketing-hero p{color:#e7fffb;line-height:1.7;margin:0;}
.fim-marketing-card{border:1px solid rgba(255,255,255,.16);border-radius:26px;background:rgba(255,255,255,.12);backdrop-filter:blur(14px);padding:24px;display:grid;gap:12px;box-shadow:0 26px 70px rgba(15,23,42,.18)}
.fim-marketing-card strong{font-size:22px;color:#fff}
.fim-marketing-card span{display:flex;align-items:center;gap:10px;color:#e7fffb;font-weight:500}
.fim-actions .fim-btn-soft,
.fim-actions .fim-btn-primary{height:42px;padding:0 13px;font-size:13px}
.fim-ads-grid{display:grid;gap:16px;margin:24px 0}
.fim-ads-home_hero{grid-template-columns:repeat(3,minmax(0,1fr))}
.fim-ad-card{position:relative;overflow:hidden;border-radius:24px;background:#061a2b;color:#fff;min-height:190px;box-shadow:0 20px 56px rgba(15,23,42,.12)}
.fim-ad-card img,
.fim-ad-card video{width:100%;height:100%;min-height:190px;object-fit:cover;display:block;opacity:.82}
.fim-ad-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72))}
.fim-ad-card-content{position:absolute;left:18px;right:18px;bottom:18px;z-index:2}
.fim-ad-card h3{margin:0 0 6px;color:#fff;font-size:20px}
.fim-ad-card p{margin:0 0 12px;color:rgba(255,255,255,.86)}
.fim-ad-cta{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border-radius:999px;background:#fff;color:var(--fim-brand-2,#17a890);text-decoration:none;font-weight:900;font-size:13px}
@media (max-width:900px){.fim-marketing-hero-inner,
.fim-ads-home_hero{grid-template-columns:1fr}.fim-actions .fim-btn-soft{display:none}}
/* =========================================================
   FINDINMOZ — ÁREAS PRO E PROFISSIONAL
========================================================= */
.fim-account-hero{padding:62px 0;color:#fff;background:radial-gradient(circle at 84% 18%,rgba(32,196,168,.24),transparent 30%),linear-gradient(135deg,#061a2b,#0b4c4b)}
.fim-prof-panel-hero{background:radial-gradient(circle at 84% 18%,rgba(32,196,168,.22),transparent 30%),linear-gradient(135deg,#061a2b,#203e68)}
.fim-account-hero-inner{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:center}
.fim-account-hero h1{color:#fff;letter-spacing:-.04em;}
.fim-account-hero p{color:#dffff8;line-height:1.65;}
.fim-account-quicklinks{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.fim-account-quicklinks a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:#fff;font-weight:500;text-decoration:none;font-size:13px}
.fim-account-quicklinks a:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
.fim-account-subscription.premium-card{border-radius:24px;padding:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);box-shadow:0 24px 70px rgba(15,23,42,.18)}
.fim-account-subscription small,
.fim-account-subscription p{display:block;margin:0 0 9px;color:#dffff8;font-size:13px}.fim-account-subscription strong{display:block;color:#fff;font-size:22px;margin:4px 0 12px}.fim-account-subscription .fim-btn{margin-top:8px}
.fim-account-badge{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:900;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.18)}.fim-account-badge.gold{background:linear-gradient(135deg,#facc15,#f59e0b);border:0}.fim-account-badge.danger{background:#fee2e2;color:#b91c1c;border:0}
.fim-account-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.fim-account-kpis article{border:1px solid var(--fim-border,#e5edf3);border-radius:20px;background:#fff;padding:18px;box-shadow:0 12px 38px rgba(15,23,42,.06)}.fim-account-kpis i{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#e8fbf7;color:var(--fim-brand-2,#17a890);margin-bottom:12px}.fim-account-kpis strong{display:block;font-size:26px;color:#0f2135;letter-spacing:-.03em}.fim-account-kpis span{color:#64748b;font-size:13px;font-weight:800}
.fim-account-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.fim-panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.fim-panel-head a{color:var(--fim-brand-2,#17a890);font-weight:900;text-decoration:none;font-size:13px}.fim-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fim-benefit-grid span{display:flex;align-items:center;gap:9px;border:1px solid var(--fim-border,#e5edf3);border-radius:14px;padding:12px;background:#fbfefd;color:#334155;font-weight:800;font-size:13px}.fim-benefit-grid i{color:var(--fim-brand-2,#17a890)}
.fim-account-list{display:grid;gap:10px}.fim-account-list.compact{gap:9px}.fim-account-list a,
.fim-account-list div{display:block;border:1px solid var(--fim-border,#e5edf3);border-radius:14px;padding:13px;background:#fff;color:#0f2135;text-decoration:none}.fim-account-list a:hover{background:#f8fffd;border-color:rgba(32,196,168,.35);transform:translateY(-1px)}.fim-account-list strong{display:block;color:#0f2135}.fim-account-list span{display:block;margin-top:4px;color:#64748b;font-size:13px}.fim-account-list p{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.5}
.fim-card-grid-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fim-mini-card{display:block;border:1px solid var(--fim-border,#e5edf3);border-radius:16px;background:#fff;padding:15px;text-decoration:none;color:#0f2135}.fim-mini-card:hover{border-color:rgba(32,196,168,.4);box-shadow:0 14px 36px rgba(15,23,42,.08);transform:translateY(-2px)}.fim-mini-card strong{display:block}.fim-mini-card span{display:block;color:#64748b;font-size:13px;margin-top:5px}.fim-mini-card p{color:#64748b;font-size:13px;line-height:1.5}.fim-progress-wrap{height:12px;border-radius:999px;background:#e5edf3;overflow:hidden;margin:8px 0 14px}.fim-progress-wrap span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20C4A8,#17a890)}.fim-pro-alert{border-radius:14px;padding:12px 14px;margin-top:14px;font-weight:500}.fim-pro-alert.success{background:#ecfdf5;color:#047857}
@media (max-width:960px){.fim-account-hero-inner,
.fim-account-dashboard-grid{grid-template-columns:1fr}.fim-account-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fim-card-grid-mini{grid-template-columns:1fr 1fr}}@media (max-width:600px){.fim-account-kpis,
.fim-benefit-grid,
.fim-card-grid-mini{grid-template-columns:1fr}.fim-account-hero{padding:42px 0}}
/* ===== Correções perfis públicos e contas PRO ===== */
.fim-prof-profile-hero,
.fimp-profile-hero{padding:64px 0;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(32,196,168,.25),transparent 32%),linear-gradient(135deg,#061a2b,#0b4c4b)}
.fim-prof-profile-grid,
.fimp-profile-grid{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:center}
.fim-prof-profile-main{display:flex;gap:24px;align-items:center}
.fim-prof-profile-main img{width:150px;height:150px;border-radius:28px;object-fit:cover;background:#fff;padding:6px;box-shadow:0 24px 54px rgba(0,0,0,.22)}
.fim-prof-category,
.fimp-kicker{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);font-weight:500}
.fim-prof-profile-main h1,
.fimp-info-col h1{font-size:clamp(34px,4vw,58px);line-height:1.04;margin:16px 0 12px;color:#fff;letter-spacing:-.04em}
.fim-prof-profile-main p,
.fimp-lead{color:#e7fffb;font-size:17px;line-height:1.65;max-width:760px}
.fim-prof-profile-actions,
.fimp-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.fim-prof-profile-side,
.fimp-score-card{border-radius:26px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);padding:22px;backdrop-filter:blur(14px);box-shadow:0 24px 60px rgba(0,0,0,.16)}
.fim-prof-profile-side div,
.fimp-score-card{margin-bottom:14px}
.fim-prof-profile-side strong,
.fimp-score-card strong{display:block;font-size:28px;color:#fff}
.fim-prof-profile-side span,
.fimp-score-card span,
.fimp-score-card small{color:#dffff8}
.fim-prof-public-grid,
.fimp-content-grid{display:grid;grid-template-columns:1fr 330px;gap:22px;align-items:start}
.fim-form{display:grid;gap:10px}.fim-form input,
.fim-form textarea{width:100%;border:1px solid #e5edf3;border-radius:14px;padding:12px 14px}.fim-form label{font-weight:500;color:#334155}
.fim-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fim-work-grid article,
.fim-review-list article{border:1px solid #e5edf3;border-radius:16px;padding:14px;background:#fbfefd}
.fim-review-list{display:grid;gap:12px}.fim-review-list .fa-star{color:#f59e0b}
.fimp-logo-col{text-align:center}.fimp-info-col{min-width:0}
.fimp-action{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-weight:500;border:1px solid rgba(255,255,255,.16)}.fimp-action.primary{background:#fff;color:#0f766e}.fimp-action.locked{opacity:.8}
@media (max-width:900px){.fim-prof-profile-grid,
.fimp-profile-grid,
.fim-prof-public-grid,
.fimp-content-grid{grid-template-columns:1fr}.fim-prof-profile-main{flex-direction:column;text-align:center}.fim-work-grid{grid-template-columns:1fr}}
/* =========================================================
   FindInMoz — Perfis Profissionais e Entidades Redesign V3
========================================================= */
.fim-btn-soft-light{
  background:rgba(255,255,255,.14);
  color:#33cba5;
  border:1px solid rgba(255,255,255,.18);
}
















/* Entidades hero */







.fim-locked-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  font-weight:500;
}
/* Layout content */



.sticky-panel{
  position:sticky;
  top:94px;
}
















































.fim-entity-socials{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.fim-entity-socials a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  color:#0f766e;
  background:#f0fdfa;
  font-weight:500;
}


.locked-panel{
  background:#f8fafc;
}
@media (max-width:1020px){
  
  
  
  
  .sticky-panel{
    position:relative;
    top:auto;
  }
}

/* =========================================================
   FindInMoz — Profile V4: funcionalidades antigas restauradas
========================================================= */




.fimp-plan-badge{
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.fimp-plan-badge::before{ content: none; }
.fimp-plan-badge.gold::before{
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
    transform: skewX(-25deg);
    animation: fimpBadgeShine 5.8s ease-in-out infinite;
    pointer-events: none;
}
.fimp-plan-badge i,
.fimp-plan-badge span{
    position: relative;
    z-index: 2;
}
@keyframes fimpSoftPulse{
    0%{ transform: scale(1); box-shadow: 0 24px 48px rgba(0,0,0,.20), 0 0 0 rgba(255,255,255,0); }
    50%{ transform: scale(1.018); box-shadow: 0 28px 58px rgba(0,0,0,.24), 0 0 28px rgba(255,255,255,.10); }
    100%{ transform: scale(1); box-shadow: 0 24px 48px rgba(0,0,0,.20), 0 0 0 rgba(255,255,255,0); }
}
@keyframes fimpGlowRotate{
    0%{ transform: rotate(0deg); opacity: .45; }
    50%{ opacity: .70; }
    100%{ transform: rotate(360deg); opacity: .45; }
}
@keyframes fimpInnerBlink{
    0%{ opacity: .25; }
    50%{ opacity: .55; }
    100%{ opacity: .25; }
}
@keyframes fimpBadgeShine{
    0%{ left: -120%; opacity: 0; }
    18%{ opacity: 1; }
    40%{ left: 140%; opacity: 0; }
    100%{ left: 140%; opacity: 0; }
}

















/* =========================================================
   FindInMoz — Ajustes Premium: redes, login, FAQ, planos e avaliações
========================================================= */
.fim-social-box{margin-top:18px;padding-top:18px;border-top:1px solid #e5edf3}
.fim-social-box h3{margin:0 0 12px;color:#0f2135;font-size:16px;font-weight:950}
.fim-social-links{display:flex;flex-wrap:wrap;gap:10px}
.fim-social-links a{width:42px;height:42px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;color:#0f766e;background:#f0fdfa;border:1px solid #b9f2e9;transition:.22s ease}
.fim-social-links a:hover{transform:translateY(-3px);color:#fff;background:linear-gradient(135deg,#20C4A8,#17a890);box-shadow:0 14px 30px rgba(32,196,168,.22)}
.fim-review-stars{display:flex;justify-content:center;gap:8px;margin:8px 0 20px}
.fim-review-stars button{width:46px;height:46px;border:0;border-radius:14px;background:#fffbeb;color:#f59e0b;font-size:22px;transition:.2s ease}
.fim-review-stars button.active,
.fim-review-stars button:hover{transform:translateY(-2px);background:#f59e0b;color:#fff}
.fim-review-locked{text-align:center;padding:18px}
.fim-review-locked>i{width:58px;height:58px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:#fffbeb;color:#f59e0b;font-size:24px;margin-bottom:12px}
.fim-review-locked strong{display:block;color:#0f2135;font-size:18px}
.fim-review-locked p{color:#64748b}
.fim-page-hero{padding:72px 0;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(32,196,168,.25),transparent 32%),linear-gradient(135deg,#061a2b,#0b4c4b)}
.fim-page-hero h1{color:#fff;}
.fim-page-hero p{color:#dffff8;line-height:1.65}
.fim-kicker{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:900}
.fim-faq-wrap{display:grid;gap:12px}
.fim-faq-item{border:1px solid #e5edf3;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.05);overflow:hidden}
.fim-faq-question{width:100%;border:0;background:#fff;text-align:left;padding:18px 20px;display:grid;gap:6px}
.fim-faq-question span{display:flex;align-items:center;gap:8px;color:#0f766e;font-size:13px;font-weight:900}
.fim-faq-question strong{color:#0f2135;font-size:18px}
.fim-faq-answer{display:none;padding:0 20px 18px;color:#64748b}
.fim-faq-item.open .fim-faq-answer{display:block}
.fim-faq-item.open .fim-faq-question i{transform:rotate(90deg)}
.fim-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.fim-plan-card{position:relative;padding:26px;border-radius:26px;background:#fff;border:1px solid #e5edf3;box-shadow:0 14px 42px rgba(15,23,42,.06);transition:.22s ease}
.fim-plan-card:hover{transform:translateY(-4px)}
.fim-plan-card.recommended{border-color:#20C4A8;box-shadow:0 24px 70px rgba(32,196,168,.16)}
.fim-plan-ribbon{position:absolute;top:18px;right:18px;min-height:30px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:linear-gradient(135deg,#20C4A8,#17a890);color:#fff;font-size:12px;font-weight:950}
.fim-plan-card h2{font-size:24px;color:#0f2135;margin:0 0 12px}
.fim-plan-card>strong{display:block;font-size:28px;color:#0f766e;margin-bottom:12px}
.fim-plan-card p{color:#64748b}
.fim-plan-card ul{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}
.fim-plan-card li{display:flex;gap:8px;color:#334155}
.fim-plan-card li i{color:#17a890;margin-top:3px}
.fim-plan-comparison{margin-top:28px;padding:24px;border-radius:26px;background:#fff;border:1px solid #e5edf3}
.fim-comparison-table{display:grid;gap:1px;overflow:hidden;border-radius:16px;border:1px solid #e5edf3}
.fim-comparison-table>div{display:grid;grid-template-columns:1.4fr 1fr 1fr;background:#fff}
.fim-comparison-table>div:first-child{background:#f8fafc}
.fim-comparison-table span,
.fim-comparison-table strong{padding:14px;border-right:1px solid #e5edf3}
@media (max-width:1050px){.fim-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:650px){.fim-plan-grid{grid-template-columns:1fr}}






.fim-plan-card .fim-btn{
  width:100%;
  margin-top:auto;
}
.fim-plan-card{
  display:flex;
  flex-direction:column;
}
.fim-plan-card ul{
  flex:1;
}
/* =========================================================
   FindInMoz — Avaliações SweetAlert + Wizard Profissional PRO
========================================================= */
.fim-review-modal .modal-content{
  border:0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(15,23,42,.24);
}
.fim-review-modal .premium-modal-header{
  background:radial-gradient(circle at top right,rgba(32,196,168,.22),transparent 28%),linear-gradient(135deg,#061a2b,#0b4c4b);
  color:#fff;
  border:0;
}
.fim-review-modal .modal-title{color:#fff;font-weight:900}
.fim-review-modal .close{color:#fff;text-shadow:none;opacity:.9}


.fim-prof-wizard-top button.active span{
  background:rgba(255,255,255,.20);
  color:#fff;
}


.fim-wizard-helper{
  margin-top:14px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:18px;
  background:#f0fdfa;
  border:1px solid #b9f2e9;
  color:#0f766e;
  font-weight:700;
}


.fim-prof-summary p{color:#64748b}
.fim-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}
.fim-summary-grid span{
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:20px;
  background:#fbfefd;
  border:1px solid #e5edf3;
  color:#334155;
  font-weight:500;
}
.fim-summary-grid i{color:#17a890;font-size:22px}

@media (max-width:800px){
  
  .fim-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fim-prof-wizard-actions{flex-wrap:wrap}
}
@media (max-width:520px){
  .fim-summary-grid{grid-template-columns:1fr}
}
/* FindInMoz FINAL — modal, wizard profissional, favoritos e histórico */
body.fim-modal-open{overflow:hidden}
.fim-modal{display:none!important;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;padding:18px}

.fim-modal-backdrop{position:absolute;inset:0;background:rgba(3,10,18,.62);backdrop-filter:blur(5px)}

.fim-modal-card{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 34px 100px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.18)}
.fim-modal-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 22px;color:#fff;background:radial-gradient(circle at top right,rgba(32,196,168,.22),transparent 28%),linear-gradient(135deg,#061a2b,#0b4c4b)}
.fim-modal-header span{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:900;color:#bfffee}
.fim-modal-header h3{margin:6px 0 0;color:#fff;font-size:20px}
.fim-modal-close{border:0;background:rgba(255,255,255,.14);color:#fff;width:34px;height:34px;border-radius:12px;font-size:24px;line-height:1}
.fim-modal-body{padding:22px}
.fim-modal-body label{display:block;margin:0 0 8px;font-weight:900;color:#334155}
.fim-modal-body textarea{width:100%;border:1px solid #e5edf3;border-radius:16px;padding:13px 14px;outline:none}
.fim-modal-footer{padding:16px 22px;border-top:1px solid #e5edf3;display:flex;justify-content:flex-end;gap:10px;background:#fbfefd}
.fim-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.fim-review-pro-lock{text-align:center}
.fim-review-pro-lock>i{width:64px;height:64px;border-radius:20px;background:#fffbeb;color:#f59e0b;display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px}
.fim-review-pro-lock strong{display:block;color:#0f2135;font-size:18px}
.fim-review-pro-lock p{color:#64748b}
.fim-rating-stars{display:flex;justify-content:center;gap:9px;margin:6px 0 22px}
.fim-rating-stars button{border:0;width:48px;height:48px;border-radius:16px;background:#fffbeb;color:#f59e0b;font-size:23px;transition:.2s ease}
.fim-rating-stars button:hover,
.fim-rating-stars button.active{background:#f59e0b;color:#fff;transform:translateY(-2px)}
.fim-form-hint{margin-top:10px;padding:12px 14px;border-radius:15px;background:#f0fdfa;color:#0f766e;font-weight:750}
.fim-prof-edit-hero{padding:54px 0}
.fim-prof-wizard{display:grid;gap:16px}
.fim-prof-wizard-top{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-radius:22px;background:#fff;border:1px solid #e5edf3;box-shadow:0 14px 36px rgba(15,23,42,.05)}
.fim-prof-wizard-top button{border:0;min-height:38px;padding:0 14px;border-radius:999px;background:#f8fafc;color:#64748b;font-weight:500;display:inline-flex;align-items:center;gap:8px}
.fim-prof-wizard-top button span{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;font-size:12px}
.fim-prof-wizard-top button.active{background:linear-gradient(135deg,#20C4A8,#17a890);color:#fff}
.fim-prof-wizard-top button.active span{background:rgba(255,255,255,.2);color:#fff}
.fim-prof-wizard-card{border:1px solid #e5edf3;border-radius:28px;background:#fff;padding:24px;box-shadow:0 18px 54px rgba(15,23,42,.07)}
.fim-prof-pane{display:none}
.fim-prof-pane.active{display:block}
.fim-form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fim-form-grid label{display:grid;gap:7px;color:#334155;font-size:13px;font-weight:900}
.fim-form-grid label.full{grid-column:1/-1}
.fim-form-grid input,
.fim-form-grid select,
.fim-form-grid textarea{width:100%;border:1px solid #e5edf3;border-radius:15px;padding:12px 14px;outline:none;background:#fff;color:#0f2135}
.fim-form-grid input:focus,
.fim-form-grid select:focus,
.fim-form-grid textarea:focus{border-color:#20C4A8;box-shadow:0 0 0 4px rgba(32,196,168,.10)}
.fim-prof-photo-preview{margin-top:14px;min-height:130px;border:1px dashed #b9f2e9;border-radius:20px;background:#f8fffd;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#64748b}
.fim-prof-photo-preview img{width:100%;max-height:240px;object-fit:cover}
.fim-wizard-helper{margin-top:14px;display:flex;gap:10px;padding:14px 16px;border-radius:18px;background:#f0fdfa;border:1px solid #b9f2e9;color:#0f766e;font-weight:750}
.fim-prof-summary{text-align:center;padding:28px}
.fim-prof-summary h2{margin:0 0 8px;color:#0f2135;font-size:28px}
.fim-prof-wizard-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #e5edf3;flex-wrap:wrap}
.fim-fav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fim-fav-card,
.fim-history-list a{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid #e5edf3;border-radius:18px;background:#fbfefd;color:#0f2135}
.fim-fav-card i{color:#ef4444}
.fim-fav-card strong,
.fim-fav-card span,
.fim-history-list strong,
.fim-history-list span{display:block}
.fim-fav-card span,
.fim-history-list span{color:#64748b;font-size:13px}
.fim-history-list{display:grid;gap:12px}
.fim-history-list i{color:#17a890}
@media (max-width:800px){.fim-form-grid.two{grid-template-columns:1fr}.fim-fav-grid{grid-template-columns:1fr}}
/* FindInMoz PATCH 07 — modais fora do fluxo e bloqueios PRO */
.fim-modal:not(.is-open){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.fim-modal.is-open{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.fim-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;align-items:center!important;justify-content:center!important;padding:18px!important}
.fim-modal-backdrop{position:absolute!important;inset:0!important;background:rgba(3,10,18,.66)!important;backdrop-filter:blur(6px)!important}
.fim-modal-dialog{position:relative!important;z-index:2!important;width:min(560px,100%)!important;max-height:calc(100vh - 36px)!important;overflow:auto!important}
.fim-modal-card{background:#fff!important;border-radius:26px!important;overflow:hidden!important;box-shadow:0 34px 100px rgba(0,0,0,.30)!important}
.modal{z-index:2147482000!important}
.modal-backdrop{z-index:2147481000!important}
.fim-premium-locked{opacity:.96;border:1px solid rgba(255,255,255,.22)!important}

/* PATCH 09 — login progress e conta PRO */
.fim-login-progress{
  width:100%;
  height:8px;
  border-radius:999px;
  background:#e5edf3;
  overflow:hidden;
  margin:16px 0 8px;
}
.fim-login-progress span{
  display:block;
  width:42%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(135deg,#20C4A8,#17a890);
  animation:fimLoginProgress 1.1s ease-in-out infinite;
}
.fim-login-progress-text{font-size:13px;color:#64748b;margin:0}
@keyframes fimLoginProgress{
  0%{transform:translateX(-110%)}
  100%{transform:translateX(260%)}
}
.fim-account-form-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e5edf3;
}
.fim-user-profile-form,
.fim-user-password-form{
  display:block;
}
/* PATCH 10 — Minha Conta PRO rica */

.fim-account-profile-head{
  display:flex;
  align-items:center;
  gap:18px;
}
.fim-account-avatar{
  width:92px;
  height:92px;
  border-radius:26px;
  padding:5px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 20px 44px rgba(0,0,0,.18);
}
.fim-account-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:21px;
  background:#fff;
}


.fim-profile-readonly-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.fim-profile-readonly-grid div{
  border:1px solid #e5edf3;
  border-radius:18px;
  padding:14px;
  background:#fbfefd;
}
.fim-profile-readonly-grid small{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:500;
  margin-bottom:5px;
}
.fim-profile-readonly-grid strong{
  color:#0f2135;
  font-weight:950;
}
.fim-profile-rich-card{
  grid-row:span 2;
}
.fim-account-list.compact{
  display:grid;
  gap:10px;
}
.fim-account-list.compact a{
  display:block;
  padding:14px;
  border:1px solid #e5edf3;
  border-radius:16px;
  background:#fbfefd;
}
.fim-account-list.compact strong,
.fim-account-list.compact span{
  display:block;
}
.fim-account-list.compact span{
  color:#64748b;
  font-size:13px;
  margin-top:3px;
}
@media (max-width:960px){
  
  .fim-account-profile-head{flex-direction:column;align-items:flex-start}
  
}
@media (max-width:640px){
  .fim-profile-readonly-grid{grid-template-columns:1fr}
}
/* PATCH 11 — Minha Conta PRO mais premium, elegante e equilibrada */


.fim-account-profile-head{
  padding:18px;
  border-radius:28px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(16px);
}
.fim-account-profile-head h1{
  margin:10px 0 6px;
  font-size:clamp(28px,3vw,42px);
  letter-spacing:-.035em;
}
.fim-account-profile-head p{
  margin:0;
  max-width:660px;
  color:#dffff8;
  line-height:1.55;
}
.fim-account-avatar{
  width:78px;
  height:78px;
  border-radius:22px;
  flex:0 0 78px;
}
.fim-account-avatar img{
  border-radius:17px;
}


.fim-account-kpis{
  margin-top:-18px;
  position:relative;
  z-index:2;
}
.fim-account-kpis article{
  border:1px solid #e5edf3;
  background:linear-gradient(180deg,#fff,#fbfefd);
  box-shadow:0 14px 38px rgba(15,23,42,.06);
}
.fim-account-kpis article i{
  width:42px;
  height:42px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f0fdfa;
  color:#0f766e;
}


.fim-profile-rich-card{
  background:
    radial-gradient(circle at top right,rgba(32,196,168,.08),transparent 28%),
    #fff;
}
.fim-profile-readonly-grid div{
  transition:.2s ease;
}
.fim-profile-readonly-grid div:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(15,23,42,.055);
}
.fim-panel-head a{
  color:#0f766e;
  font-weight:900;
  text-decoration:none;
}
.fim-diagnostic-grid{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.fim-diagnostic-grid div{
  padding:14px;
  border:1px solid #e5edf3;
  border-radius:16px;
  background:#fbfefd;
}
.fim-diagnostic-grid small,
.fim-diagnostic-grid strong{
  display:block;
}
.fim-diagnostic-grid small{
  color:#64748b;
  font-size:12px;
  margin-bottom:5px;
}

@media (max-width:680px){
  .fim-account-profile-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .fim-diagnostic-grid{
    grid-template-columns:1fr;
  }
}
/* PATCH 12 — diagnóstico profissional */
.fim-debug-pre{
  white-space:pre-wrap;
  word-break:break-word;
  padding:16px;
  border-radius:16px;
  background:#0f172a;
  color:#d9f99d;
  font-size:13px;
  overflow:auto;
}
/* PATCH 13 — refinamento profissional, histórico e perfis */
.fim-back-panel{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  margin-bottom:16px;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  font-weight:500;
}
.fim-back-panel:hover{background:rgba(255,255,255,.18);color:#fff}
.fim-modal-input{
  width:100%;
  border:1px solid #e5edf3;
  border-radius:16px;
  padding:13px 14px;
  outline:none;
  margin-bottom:12px;
}
.fim-modal-input:focus{border-color:#20C4A8;box-shadow:0 0 0 4px rgba(32,196,168,.10)}
.fim-prof-private-hero{
  padding:48px 0 40px;
}
.fim-prof-private-layout{
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.fim-prof-private-card{
  position:sticky;
  top:96px;
  border-radius:26px;
  padding:22px;
  background:#fff;
  border:1px solid #e5edf3;
  box-shadow:0 16px 44px rgba(15,23,42,.07);
  text-align:center;
}
.fim-prof-private-photo{
  width:138px;
  height:138px;
  margin:0 auto 16px;
  border-radius:30px;
  padding:6px;
  background:linear-gradient(135deg,#20C4A8,#17a890);
  box-shadow:0 18px 38px rgba(32,196,168,.20);
}
.fim-prof-private-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:24px;
  background:#fff;
}
.fim-prof-private-card h2{
  margin:0;
  font-size:22px;
  color:#0f2135;
}
.fim-prof-private-card p{
  color:#64748b;
  margin:6px 0 16px;
}
.fim-prof-readonly-list{
  display:grid;
  gap:10px;
}
.fim-prof-readonly-list span{
  display:block;
  padding:12px;
  border-radius:16px;
  background:#fbfefd;
  border:1px solid #e5edf3;
  text-align:left;
}
.fim-prof-readonly-list small,
.fim-prof-readonly-list strong{
  display:block;
}
.fim-prof-readonly-list small{
  color:#64748b;
  font-size:12px;
  font-weight:500;
}
.fim-prof-readonly-list strong{
  color:#0f2135;
}
.required{color:#ef4444}


.fim-history-premium-panel{
  border-radius:26px;
}
.fim-history-timeline{
  display:grid;
  gap:12px;
}
.fim-history-timeline a{
  display:flex;
  gap:14px;
  align-items:center;
  padding:15px;
  border-radius:18px;
  background:#fbfefd;
  border:1px solid #e5edf3;
  color:#0f2135;
  text-decoration:none;
  transition:.2s ease;
}
.fim-history-timeline a:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(15,23,42,.065);
}
.fim-history-timeline i{
  width:42px;
  height:42px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f0fdfa;
  color:#0f766e;
}
.fim-history-timeline strong,
.fim-history-timeline span{
  display:block;
}
.fim-history-timeline span{
  color:#64748b;
  font-size:13px;
  margin-top:3px;
}
.fim-history-pagination{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #e5edf3;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.fim-history-pagination span{
  color:#64748b;
  font-weight:500;
}
@media (max-width:960px){
  .fim-prof-private-layout{grid-template-columns:1fr}
  .fim-prof-private-card{position:relative;top:auto}
}
/* PATCH 14 — Página profissionais.php premium */
.fim-prof-page-hero-v14{
  padding:52px 0 44px;
  background:
    radial-gradient(circle at 82% 18%, rgba(32,196,168,.32), transparent 30%),
    radial-gradient(circle at 14% 10%, rgba(255,255,255,.13), transparent 24%),
    linear-gradient(135deg,#061a2b 0%,#073047 56%,#0b4c4b 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.fim-prof-page-hero-v14::before{
  content:"";
  position:absolute;
  inset:auto -80px -160px auto;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(32,196,168,.16);
  filter:blur(6px);
}


.fim-btn-soft-light{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}

.fim-prof-results-section-v14{
  padding-top:38px;
}


.fim-results-toolbar.fim-prof-toolbar{
  background:#fff;
  border:1px solid #e5edf3;
  border-radius:22px;
  padding:14px 16px;
  box-shadow:0 12px 32px rgba(15,23,42,.055);
  margin-bottom:18px;
}
.fim-prof-grid{
  gap:18px!important;
}
.fim-prof-card{
  position:relative;
  border:1px solid #e5edf3!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at top right,rgba(32,196,168,.08),transparent 28%),
    #fff!important;
  box-shadow:0 16px 44px rgba(15,23,42,.065)!important;
  overflow:hidden;
  transition:.22s ease;
}
.fim-prof-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 64px rgba(15,23,42,.11)!important;
}
.fim-prof-card.is-featured::before{
  content:"Destaque";
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:linear-gradient(135deg,#facc15,#f59e0b);
  color:#fff;
  font-size:12px;
  font-weight:950;
  box-shadow:0 12px 24px rgba(245,158,11,.22);
}
.fim-prof-card-top img{
  width:82px!important;
  height:82px!important;
  border-radius:24px!important;
  object-fit:cover;
  padding:2px;
  background:linear-gradient(135deg,#20C4A8,#17a890);
}
.fim-prof-category{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border-radius:999px;
  background:#f0fdfa;
  color:#0f766e!important;
  font-size:12px;
  font-weight:950;
}
.fim-prof-card h3{
  margin:8px 0 4px!important;
  font-size:20px!important;
  letter-spacing:-.02em;
}
.fim-prof-card h3 a{
  color:#0f2135;
  text-decoration:none;
}
.fim-prof-rating{
  border-radius:16px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  padding:10px 12px;
}
.fim-prof-rating span{
  color:#f59e0b;
}
.fim-prof-meta span{
  background:#f8fafc;
  border:1px solid #e5edf3;
  border-radius:999px;
  padding:7px 10px;
}
.fim-prof-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.fim-prof-actions a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border-radius:14px;
  font-weight:900;
  text-decoration:none;
}
.fim-prof-actions .is-primary{
  background:linear-gradient(135deg,#20C4A8,#17a890);
  color:#fff;
  box-shadow:0 12px 24px rgba(32,196,168,.22);
}
.fim-card-wa{
  background:#ecfdf5;
  color:#047857;
  border:1px solid #bbf7d0;
}

@media (max-width:640px){
  .fim-prof-page-hero-v14{
    padding:34px 0;
  }
  
  
}
/* PATCH 15 — Entidades Standard: apenas contacto visível */

.fim-standard-logo-badge{
  position:absolute;
  left:50%;
  bottom:8px;
  z-index:5;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  color:#fff;
  background:rgba(15,23,42,.74);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 10px 22px rgba(0,0,0,.22);
}



.fim-standard-contact-only-chip{
  background:rgba(255,255,255,.12);
  color:#e7fffb;
  border-color:rgba(255,255,255,.18);
}
.fim-standard-locked-panel{
  text-align:center;
  padding:34px 26px!important;
  background:
    radial-gradient(circle at top right,rgba(32,196,168,.09),transparent 30%),
    #fff;
}
.fim-standard-lock-icon{
  width:64px;
  height:64px;
  border-radius:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  color:#0f766e;
  background:#f0fdfa;
  border:1px solid #b9f2e9;
  font-size:24px;
}
.fim-standard-contact-card{
  margin:20px auto 0;
  max-width:420px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  padding:14px;
  border-radius:20px;
  background:#f8fffd;
  border:1px solid #d9f4ef;
}
.fim-standard-contact-card strong{
  width:100%;
  color:#0f2135;
  font-weight:950;
}
.fim-standard-contact-card a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 13px;
  border-radius:999px;
  text-decoration:none;
  color:#0f766e;
  background:#fff;
  border:1px solid #b9f2e9;
  font-weight:900;
}
.fim-standard-benefits-panel{
  background:#fbfefd!important;
  border-style:dashed!important;
}


/* PATCH 16 — Standard sem logo real e sem WhatsApp */

.fim-standard-logo-placeholder{
  width:100%;
  height:100%;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  color:#e7fffb;
  background:
    linear-gradient(135deg,rgba(15,23,42,.30),rgba(15,23,42,.10));
  border:1px dashed rgba(255,255,255,.28);
}
.fim-standard-logo-placeholder i{
  font-size:34px;
  color:#9fffe9;
}
.fim-standard-logo-placeholder span{
  font-size:12px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.01em;
  max-width:82px;
}

.fim-standard-contact-card{
  max-width:360px;
}
.fim-standard-contact-card a{
  background:linear-gradient(135deg,#20C4A8,#17a890);
  color:#fff!important;
  border-color:transparent;
  box-shadow:0 12px 24px rgba(32,196,168,.18);
}
.fim-standard-locked-panel{
  border:1px solid #e5edf3!important;
}
/* PATCH 17 — Homepage Premium FindInMoz */


.fim-home-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(8px);
  opacity:.55;
}
.fim-home-orb.one{width:280px;height:280px;right:-80px;bottom:-120px;background:rgba(32,196,168,.20)}
.fim-home-orb.two{width:180px;height:180px;left:8%;top:10%;background:rgba(255,255,255,.10)}


.fim-btn-glass{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.20);
}
.fim-btn-glass:hover{background:rgba(255,255,255,.18);color:#fff}


.fim-home-center{text-align:center;margin-top:24px}


/* PATCH 18 — Homepage mesclada antiga + premium nova */


.fim-home-search-btn-v18{border:0;border-radius:18px;background:linear-gradient(135deg,#20C4A8,#17a890);color:#fff;font-weight:950;box-shadow:0 16px 28px rgba(32,196,168,.24)}


.fim-home-suggestions-v18{display:none;margin-top:10px;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.18)}
.fim-home-suggestions-v18.active{display:grid}
.fim-home-suggestions-v18 a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #eef2f7;text-decoration:none;color:#0f2135}
.fim-home-suggestions-v18 a:hover{background:#f8fffd}
.fim-home-suggestions-v18 a.is-keyboard-active,.fim-suggestions-v21 a.is-keyboard-active{background:#f2fbf9;color:#0f766e}
.fim-home-suggestions-v18 .suggest-logo{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#f0fdfa;color:#0f766e;overflow:hidden}
.fim-home-suggestions-v18 .premium .suggest-logo{background:linear-gradient(135deg,#20C4A8,#17a890)}
.fim-home-suggestions-v18 .suggest-logo img{width:100%;height:100%;object-fit:cover}
.fim-home-suggestions-v18 small{display:block;color:#0f766e;font-size:11px;font-weight:950}
.fim-home-suggestions-v18 strong{display:block;color:#0f2135}


.fim-home-promo-card-v18{min-height:190px;display:flex;justify-content:space-between;gap:18px;padding:26px;border-radius:30px;background:linear-gradient(135deg,#fff,#f8fffd);border:1px solid #e5edf3;box-shadow:0 24px 70px rgba(15,23,42,.12);text-decoration:none;color:#0f2135;overflow:hidden;transition:.22s ease}
.fim-home-promo-card-v18.dark{background:linear-gradient(135deg,#061a2b,#0b4c4b);color:#fff}
.fim-home-promo-card-v18:hover{transform:translateY(-5px)}
.fim-home-promo-card-v18 span{color:#0f766e;font-weight:950}.fim-home-promo-card-v18.dark span{color:#9fffe9}
.fim-home-promo-card-v18 h2{font-size:28px;line-height:1.08;margin:8px 0}.fim-home-promo-card-v18.dark h2{color:#fff}
.fim-home-promo-card-v18 p{color:#64748b}.fim-home-promo-card-v18.dark p{color:#dffff8}
.fim-home-promo-card-v18>i{font-size:54px;color:#20C4A8;opacity:.9}


.fim-home-benefits-v18,
.fim-home-card-grid-v18,
.fim-home-how-v18{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fim-home-benefits-v18 article,
.fim-home-how-v18 article{padding:22px;border-radius:24px;background:#fff;border:1px solid #e5edf3;box-shadow:0 14px 38px rgba(15,23,42,.055);transition:.22s ease}
.fim-home-benefits-v18 article:hover,
.fim-home-how-v18 article:hover{transform:translateY(-4px)}
.fim-home-benefits-v18 i,
.fim-home-how-v18 i{width:48px;height:48px;border-radius:17px;display:flex;align-items:center;justify-content:center;background:#f0fdfa;color:#0f766e;font-size:19px;margin-bottom:14px}
.fim-home-benefits-v18 strong,
.fim-home-how-v18 strong{display:block;color:#0f2135;font-size:18px;margin-bottom:6px}.fim-home-benefits-v18 span,
.fim-home-how-v18 span{color:#64748b;line-height:1.55}


.fim-home-entity-card-v18,
.fim-home-pro-card-v18{position:relative;padding:18px;border-radius:26px;background:rgba(255,255,255,.92);border:1px solid #e5edf3;box-shadow:0 16px 44px rgba(15,23,42,.06);overflow:hidden;transition:.22s ease}
.fim-home-entity-card-v18:hover,
.fim-home-pro-card-v18:hover{transform:translateY(-4px);box-shadow:0 24px 64px rgba(15,23,42,.10)}
.fim-home-entity-card-v18.premium::before,
.fim-home-pro-card-v18.recommended::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(135deg,#20C4A8,#17a890)}
.fim-home-entity-card-v18 .logo,
.fim-home-pro-card-v18 .photo{width:82px;height:82px;border-radius:24px;padding:2px;background:linear-gradient(135deg,#20C4A8,#17a890);margin-bottom:14px}
.fim-home-entity-card-v18 .standard-logo{background:#f0fdfa;color:#0f766e;display:flex;align-items:center;justify-content:center;font-size:28px}
.fim-home-entity-card-v18 img,
.fim-home-pro-card-v18 img{width:100%;height:100%;object-fit:cover;border-radius:19px;background:#fff}
.fim-home-entity-card-v18 h3,
.fim-home-pro-card-v18 h3{color:#0f2135;font-size:19px;line-height:1.18;margin:8px 0 6px}
.fim-home-entity-card-v18 p,
.fim-home-pro-card-v18 p{color:#64748b;line-height:1.5;margin:0 0 10px}
.fim-home-entity-card-v18 .badge,
.fim-home-pro-card-v18 .badge{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;background:#f0fdfa;color:#0f766e;font-size:12px;font-weight:950}
.fim-home-entity-card-v18 .badge.gold,
.fim-home-pro-card-v18 .badge.gold{color:#fff;background:linear-gradient(135deg,#facc15,#f59e0b);box-shadow:0 10px 22px rgba(245,158,11,.18)}
.fim-home-entity-card-v18 .badge.gold::before,
.fim-home-pro-card-v18 .badge.gold::before{content:"";position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-25deg);animation:fimpBadgeShine 5.8s ease-in-out infinite}
.fim-home-stars i{font-size:12px;color:#cbd5e1}.fim-home-stars i.active{color:#f59e0b}
.rating small{display:block;color:#64748b;margin-top:4px;font-size:12px}.local{display:flex;gap:7px;align-items:center;color:#64748b;font-size:13px;margin-top:10px}.local i{color:#17a890}
.fim-card-link{margin-top:14px;margin-left:auto;width:max-content;max-width:100%;min-height:38px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border-radius:13px;background:#0f2135;color:#fff;text-decoration:none;font-weight:900}.fim-card-link:hover{color:#fff;background:#17a890}
.fim-home-loading-v18,
.fim-home-empty-v18{grid-column:1/-1;padding:30px;border-radius:22px;background:#fff;border:1px solid #e5edf3;text-align:center;color:#64748b;font-weight:500}

.fim-home-campaign-card-v18{min-height:190px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:24px;border-radius:28px;background:linear-gradient(135deg,#061a2b,#0b4c4b);color:#fff;overflow:hidden;text-decoration:none}
.fim-home-campaign-card-v18 span{color:#9fffe9;font-weight:950}.fim-home-campaign-card-v18 h3{color:#fff;margin:8px 0;font-size:25px}.fim-home-campaign-card-v18 p{color:#dffff8}.fim-home-campaign-card-v18 img{width:100%;height:130px;object-fit:cover;border-radius:20px}
.fim-home-how-v18{grid-template-columns:repeat(5,minmax(0,1fr))}

.fim-home-business-card-v18,
.fim-home-faq-card-v18{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px;border-radius:32px;background:#fff;border:1px solid #e5edf3;box-shadow:0 18px 52px rgba(15,23,42,.065)}
.fim-home-business-card-v18{background:radial-gradient(circle at top right,rgba(32,196,168,.13),transparent 32%),#fff}.fim-home-business-card-v18 span,
.fim-home-faq-card-v18 span{color:#0f766e;font-weight:950}.fim-home-business-card-v18 h2,
.fim-home-faq-card-v18 h2{margin:8px 0;color:#0f2135;font-size:clamp(26px,3vw,40px);letter-spacing:-.035em}.fim-home-business-card-v18 p,
.fim-home-faq-card-v18 p{color:#64748b;margin:0}.fim-home-business-card-v18 .actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}
@media (max-width:1100px){.fim-home-card-grid-v18,
.fim-home-benefits-v18{grid-template-columns:repeat(2,minmax(0,1fr))}.fim-home-how-v18,
.fim-home-campaign-grid-v18{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.fim-home-promo-grid-v18,
.fim-home-proof-grid-v18,
.fim-home-card-grid-v18,
.fim-home-benefits-v18,
.fim-home-how-v18,
.fim-home-campaign-grid-v18{grid-template-columns:1fr}.fim-home-business-card-v18,
.fim-home-faq-card-v18{flex-direction:column;align-items:flex-start;padding:24px}}
/* PATCH 19 — banners antigos, botões glass shine, premium-only e nível profissional */


.fim-old-banner-empresa-v19::before,
.fim-old-banner-pro-v19::before,
.fim-btn::before,
.fim-home-search-btn-v18::before,
.fim-card-link::before{
  content:"";
  position:absolute;
  top:0;
  left:-130%;
  width:80%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);
  transform:skewX(-25deg);
  animation:fimpBadgeShine 6.2s ease-in-out infinite;
  pointer-events:none;
}
.fim-btn,
.fim-home-search-btn-v18,
.fim-card-link{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.fim-btn > *,
.fim-home-search-btn-v18 > *,
.fim-card-link > *{
  position:relative;
  z-index:2;
}
.fim-home-promo-card-v18{
  backdrop-filter:blur(14px);
}


.fim-home-search-btn-v18,
.fim-btn.fim-btn-primary,
.fim-card-link{
  background:
    linear-gradient(135deg,rgba(32,196,168,.92),rgba(23,168,144,.92))!important;
  box-shadow:0 12px 24px rgba(32,196,168,.18)!important;
  border:1px solid rgba(255,255,255,.20)!important;
}
.fim-btn.fim-btn-soft,
.fim-btn-glass,
.fim-home-search-extra-v18 button,
.fim-home-search-extra-v18 a{
  background:rgba(32,196,168,.12)!important;
  border:1px solid rgba(32,196,168,.24)!important;
  color:#eafffb!important;
  box-shadow:0 10px 22px rgba(15,23,42,.08);
}
.fim-home-search-card-v17 .fim-btn.fim-btn-soft,
.fim-home-search-v14 .fim-btn-soft-light,
.fim-home-business-card-v18 .fim-btn-soft{
  color:#0f766e!important;
  background:rgba(32,196,168,.10)!important;
  border-color:rgba(32,196,168,.24)!important;
}
.fim-card-link{
  min-height:34px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:500!important;
  letter-spacing:0!important;
}
.fim-card-link:hover{
  transform:translateY(-1px);
  color:#fff!important;
  box-shadow:0 14px 26px rgba(32,196,168,.22)!important;
}

.fim-home-suggestions-v18 a.premium .suggest-logo{
  box-shadow:0 8px 18px rgba(32,196,168,.20);
}
.fim-home-suggestions-v18 a.standard .suggest-logo{
  background:#f1f5f9!important;
  color:#64748b!important;
}
.fim-home-suggestions-v18 a.standard small::after{
  content:" · sem logo";
  color:#94a3b8;
  font-weight:800;
}


/* PATCH 20 — Home: banners exatos, hero premium limpo e pesquisa com logo standard */


.fim-home-search-btn-v18{
  border-radius:17px!important;
}


/* Banner PRO conforme referência */


/* Banner empresa conforme referência */


/* Sugestões com logos para todos; standard sem destaque premium */
.fim-home-suggestions-v18 a.standard .suggest-logo{
  background:#f8fafc!important;
  border:1px solid #e2e8f0;
  filter:saturate(.72);
}


.fim-home-suggestions-v18 a.standard small::after{
  content:""!important;
}


/* =========================================================
   PATCH V21 — HOMEPAGE IMPECÁVEL / PREMIUM REFINADA
   ========================================================= */
.fim-home-v21{
  --v21-brand:#20C4A8;
  --v21-brand2:#17a890;
  --v21-dark:#061a2b;
  --v21-text:#0f2135;
  --v21-muted:#64748b;
  --v21-border:#e5edf3;
  --v21-soft:#f6fbfa;
  background:#f7fbfb;
  overflow:hidden;
}
.fim-home-v21 .fim-container{
  width:min(1320px, calc(100% - 40px));
}
.fim-home-hero-v21{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(6,26,43,.92),rgba(6,26,43,.72) 48%,rgba(8,52,61,.60)),
    url("../img/mptb.jpeg") center/cover no-repeat;
  isolation:isolate;
}
.fim-hero-v21-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) 380px;
  gap:34px;
  align-items:center;
  padding:52px 0 64px;
}
.fim-v21-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#eafffb;
  font-size:13px;
  font-weight:800;
  /* letter-spacing:.01em; */
}
.fim-hero-v21-copy h1{
  /* max-width:760px; */
  margin:16px 0 14px;
  color:#fff;
  font-size:clamp(34px, 4.6vw, 48px);
  line-height:1.04;
  font-weight:500;
  letter-spacing:0.02em;
}
.fim-hero-v21-copy p{
  /* max-width:px; */
  margin:0 0 22px;
  color:#dffdf8;
  font-size:15px;
  /* line-height:1.62; */
  font-weight:400;
  letter-spacing:0.06em;
}
.fim-search-v21{
  max-width:600;
  position:relative;
  padding:12px;
  border-radius:24px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.fim-search-v21-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:10px;
}
.fim-search-v21-tabs input{display:none}
.fim-search-v21-tabs span{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  border-radius:999px;
  color:#eafffb;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.fim-search-v21-tabs input:checked + span{
  background:rgba(255,255,255,.96);
  color:#0f766e;
}
.fim-search-v21-row{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(190px,.65fr) 136px;
  gap:9px;
}
.fim-search-v21-field{
  min-height:52px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border-radius:17px;
  background:rgba(255,255,255,.96);
  color:#0f2135;
  border:1px solid rgba(255,255,255,.20);
}
.fim-search-v21-field i{color:#17a890}
.fim-search-v21-field input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#0f2135;
  font-size:14px;
  font-weight:650;
}
.fim-search-v21-submit{
  position:relative;
  overflow:hidden;
  border:0;
  border-radius:17px;
  color:#fff;
  background:linear-gradient(135deg,#20C4A8,#17a890);
  font-weight:500;
  box-shadow:0 12px 26px rgba(32,196,168,.20);
  cursor:pointer;
}
.fim-search-v21-submit::before,
.fim-home-v21 .fim-btn::before,
.fim-home-v21 .fim-card-link::before{
  content:"";
  position:absolute;
  inset:0 auto 0 -130%;
  width:80%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-25deg);
  animation:fimpBadgeShine 7s ease-in-out infinite;
  pointer-events:none;
}
.fim-search-v21-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.fim-search-v21-actions button,
.fim-search-v21-actions a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.16);
  color:#eafffb;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.fim-suggestions-v21{
  position:absolute;
  left:12px;
  right:12px;
  top:calc(100% - 8px);
  z-index:20;
  max-height:360px;
  overflow:auto;
  border-radius:18px !important;
}
.fim-home-suggestions-v18 a{
  min-height:64px;
}
.fim-home-suggestions-v18 a.standard .suggest-logo{
  background:#f8fafc!important;
  border:1px solid #e2e8f0;
  filter:saturate(.74);
}
.fim-home-suggestions-v18 a.standard .suggest-logo img{
  opacity:.72;
}
.fim-home-suggestions-v18 a em{
  display:block;
  margin-top:2px;
  color:#94a3b8;
  font-size:11px;
  font-style:normal;
  font-weight:800;
}
.fim-hero-v21-proof{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.fim-hero-v21-proof span{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border-radius:999px;
  color:#eafffb;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  font-size:12px;
  font-weight:750;
}
.fim-hero-v21-proof strong{color:#fff}
.fim-hero-v21-panel{
  margin-top:190px;
  padding:16px;
  border-radius:28px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.fim-hero-v21-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#eafffb;
  margin-bottom:12px;
  font-size:13px;
  font-weight:500;
}
.fim-hero-v21-panel-head i{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(255,255,255,.12);
}
.fim-hero-v21-mini-card{
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  color:#0f2135;
  text-decoration:none;
  margin-top:9px;
  transition:.2s ease;
}
.fim-hero-v21-mini-card:hover{transform:translateY(-2px)}
.fim-hero-v21-mini-card .mini-logo{
  width:46px;
  height:46px;
  border-radius:15px;
  overflow:hidden;
  padding:1px;
  background:linear-gradient(135deg,#20C4A8,#17a890);
  flex:0 0 auto;
}
.fim-hero-v21-mini-card .mini-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:12px;
  background:#fff;
}
.fim-hero-v21-mini-card .mini-info{
  min-width:0;
  flex:1;
}
.fim-hero-v21-mini-card strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
}
.fim-hero-v21-mini-card small{
  display:flex;
  gap:3px;
  align-items:center;
  color:#64748b;
  font-size:11px;
}
.fim-hero-v21-mini-card em{
  font-style:normal;
  font-size:10px;
  font-weight:900;
  color:#0f766e;
  background:#f0fdfa;
  border-radius:999px;
  padding:4px 7px;
}
.fim-proof-v21{
  margin-top:-22px;
  position:relative;
  z-index:3;
}
.fim-proof-v21-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.fim-proof-v21-grid article{
  min-height:104px;
  padding:16px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e5edf3;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
}
.fim-proof-v21-grid i{
  width:36px;
  height:36px;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f0fdfa;
  color:#0f766e;
  margin-bottom:10px;
}
.fim-proof-v21-grid strong{
  display:block;
  color:#0f2135;
  font-size:23px;
  line-height:1;
}
.fim-proof-v21-grid span{
  display:block;
  color:#64748b;
  font-size:13px;
  margin-top:4px;
  font-weight:750;
}
.fim-pro-banner-v21{
  padding:54px 0 24px;
}
.fim-pro-banner-v21-card{
  min-height:260px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,340px);
  grid-template-rows:auto auto;
  gap:16px 28px;
  align-items:start;
  padding:34px;
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.14),transparent 30%),
    linear-gradient(135deg,#143245 0%,#084d53 52%,#20c4a8 100%);
  box-shadow:0 18px 45px rgba(15,23,42,.10);
}
.fim-pro-banner-v21-card > div:first-child{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:center;
  min-width:0;
}
.fim-pro-banner-v21-chips{
  grid-column:2;
  grid-row:1;
  align-self:end;
}
.fim-pro-banner-v21-card > a{
  grid-column:2;
  grid-row:2;
  justify-self:end;
  align-self:start;
  min-width:210px;
  padding-inline:18px;
}
.fim-pro-banner-v21-card span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  font-size:13px;
  font-weight:900;
}
.fim-pro-banner-v21-card h2{
  color:#fff;
  /* letter-spacing:-.045em; */
}
.fim-pro-banner-v21-card p{
  margin:0;
  color:#e8fffb;
  line-height:1.58;
  letter-spacing:0;
  
}
.fim-pro-banner-v21-chips{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-content:flex-end;
  gap:9px;
}
.fim-pro-banner-v21-chips small{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  font-size:13px;
  font-weight:500;
}
.fim-pro-banner-v21-card > a{
  position:relative;
  overflow:hidden;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:14px;
  color:#0f766e;
  background:#fff;
  border:1px solid rgba(255,255,255,.48);
  text-decoration:none;
  font-size:14px;
  font-weight:850;
  box-shadow:0 14px 30px rgba(3,31,36,.18);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.fim-pro-banner-v21-card > a:hover,
.fim-pro-banner-v21-card > a:focus-visible{
  color:#0b665c;
  background:#f4fffc;
  transform:translateY(-1px);
  box-shadow:0 18px 36px rgba(3,31,36,.22);
}
.fim-company-banner-v21-card strong{
  position:relative;
  overflow:hidden;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#20C4A8,#17a890);
  text-decoration:none;
  font-size:14px;
  font-weight:900;
  box-shadow:0 12px 26px rgba(32,196,168,.22);
  margin-left:auto;
}
.fim-pro-banner-v21-card > a::before,
.fim-company-banner-v21-card strong::before{
  content:"";
  position:absolute;
  inset:0 auto 0 -130%;
  width:80%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-25deg);
  animation:fimpBadgeShine 7s ease-in-out infinite;
}
.fim-section-v21{
  padding:64px 0;
}
.fim-section-v21.soft,
.fim-section-v21.campaigns{
  background:#fff;
}
.fim-section-head-v21{
  max-width:720px;
  margin-bottom:22px;
}
.fim-section-head-v21 span{
  display:block;
  color:#0f766e;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.fim-section-head-v21 h2{
  margin:8px 0 8px;
  color:#0f2135;
  font-size:clamp(27px,3.2vw,38px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.fim-section-head-v21 p{
  margin:0;
  color:#64748b;
  font-size:15px;
  line-height:1.62;
}
.fim-tabs-v21{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.fim-tabs-v21 button,
.fim-home-tabs-v18 button{
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  border:1px solid #e5edf3!important;
  background:#fff!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:500!important;
}
.fim-tabs-v21 button.active,
.fim-home-tabs-v18 button.active{
  background:linear-gradient(135deg,#20C4A8,#17a890)!important;
  color:#fff!important;
  border-color:transparent!important;
}
.fim-card-grid-v21{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.fim-card-grid-v21 .fim-home-entity-card-v18,
.fim-card-grid-v21 .fim-home-pro-card-v18,
.fim-home-entity-card-v18,
.fim-home-pro-card-v18{
  padding:16px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid #e5edf3!important;
  box-shadow:0 10px 30px rgba(15,23,42,.06)!important;
  transition:.22s ease!important;
}
.fim-home-entity-card-v18:hover,
.fim-home-pro-card-v18:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 45px rgba(15,23,42,.10)!important;
}
.fim-home-entity-card-v18 .logo,
.fim-home-pro-card-v18 .photo{
  width:66px!important;
  height:66px!important;
  border-radius:19px!important;
  margin-bottom:12px!important;
}
.fim-home-entity-card-v18 img,
.fim-home-pro-card-v18 img{
  border-radius:15px!important;
}
.fim-home-entity-card-v18 .badge,
.fim-home-pro-card-v18 .badge{
  min-height:25px!important;
  padding:0 9px!important;
  font-size:11px!important;
}
.fim-home-entity-card-v18 h3,
.fim-home-pro-card-v18 h3{
  font-size:17px!important;
  line-height:1.2!important;
  margin:8px 0 5px!important;
}
.fim-home-entity-card-v18 p,
.fim-home-pro-card-v18 p{
  font-size:13px!important;
  line-height:1.48!important;
  margin:0 0 8px!important;
}
.fim-home-stars i{font-size:11px!important}
.rating small{font-size:11px!important}
.local{font-size:12px!important;margin-top:8px!important}
.fim-home-v21 .fim-card-link,
.fim-card-link{
  position:relative;
  overflow:hidden;
  min-height:32px!important;
  padding:0 10px!important;
  margin-top:12px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:500!important;
  background:rgba(32,196,168,.10)!important;
  color:#0f766e!important;
  border:1px solid rgba(32,196,168,.24)!important;
  box-shadow:none!important;
}
.fim-card-link:hover{
  color:#fff!important;
  background:linear-gradient(135deg,#20C4A8,#17a890)!important;
  box-shadow:0 10px 22px rgba(32,196,168,.16)!important;
}
.fim-home-entity-card-v18.standard{display:none!important}


.fim-company-banner-v21{
  padding:24px 0 42px;
  background:#fff;
}


.fim-benefits-v21{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.fim-benefits-v21 article{
  padding:18px;
  border-radius:21px;
  background:#fff;
  border:1px solid #e5edf3;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
}
.fim-benefits-v21 i{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f0fdfa;
  color:#0f766e;
  margin-bottom:12px;
}
.fim-benefits-v21 strong{
  display:block;
  color:#0f2135;
  font-size:16px;
  margin-bottom:5px;
}
.fim-benefits-v21 span{
  display:block;
  color:#64748b;
  font-size:13px;
  line-height:1.48;
}
.fim-home-v21 .fim-btn{
  height:42px!important;
  border-radius:14px!important;
  font-size:13px!important;
  font-weight:800!important;
}
.fim-home-v21 .fim-btn-primary{
  background:linear-gradient(135deg,#20C4A8,#17a890)!important;
  border-color:transparent!important;
  box-shadow:0 10px 22px rgba(32,196,168,.16)!important;
}
.fim-home-v21 .fim-btn-soft{
  color:#0f766e!important;
  background:rgba(32,196,168,.10)!important;
  border-color:rgba(32,196,168,.24)!important;
}
@media (max-width:1120px){
  .fim-hero-v21-grid{grid-template-columns:1fr}
  .fim-hero-v21-panel{max-width:560px}
  .fim-search-v21-row{grid-template-columns:1fr}
  .fim-pro-banner-v21-card{grid-template-columns:1fr;grid-template-rows:auto}.fim-pro-banner-v21-card > div:first-child,
.fim-pro-banner-v21-chips,
.fim-pro-banner-v21-card > a{grid-column:1;grid-row:auto}.fim-pro-banner-v21-card > a{justify-self:end}
  .fim-card-grid-v21{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fim-proof-v21-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .fim-home-hero-v21{min-height:auto}
  .fim-pro-banner-v21-card{padding:24px;gap:18px}
  .fim-pro-banner-v21-chips{justify-content:flex-end}
  .fim-pro-banner-v21-card > a{width:auto;max-width:100%;min-width:0;justify-self:end;padding-inline:16px}
  .fim-hero-v21-grid{padding:38px 0 54px}
  .fim-hero-v21-copy h1{font-size:34px}
  .fim-hero-v21-copy p{font-size:15px}
  .fim-proof-v21-grid,
.fim-card-grid-v21,
.fim-campaign-grid-v21,
.fim-benefits-v21{grid-template-columns:1fr}
  .fim-company-banner-v21-card{flex-direction:column;align-items:stretch;padding:26px}
  
  .fim-search-v21{border-radius:22px}
}
/* ==========================================================================
   FINDINMOZ — PREMIUM BUTTON SYSTEM
   Implementação baseada no estilo Coming Soon.
   Escopo: APENAS botões/links de ação. Não altera badges.
   ========================================================================== */
:root{
    --fim-btn-brand: #20C4A8;
    --fim-btn-brand-2: #17a890;
    --fim-btn-dark: #061a2b;
    --fim-btn-glass: rgba(255,255,255,.10);
    --fim-btn-glass-2: rgba(255,255,255,.14);
    --fim-btn-border: rgba(255,255,255,.15);
    --fim-btn-shadow: 0 16px 32px rgba(32,196,168,.20);
}
/* BASE GLOBAL DE BOTÕES — sem afetar badges */
.fim-btn,
.fim-card-action,
.fim-card-link,
.fim-business-actions a,
.fim-result-actions a,
.fim-search-submit,
.fim-results-filter button,
.fim-newsletter button,
.fim-mobile-cta,
.fimp-action,
.fimp-upgrade-btn,
.fim-prof-actions a,
.fim-home-v21 .fim-btn,
.fim-home-v21 .fim-card-link,
.fim-search-v21-submit,
.fim-pro-banner-v21-card > a,
.fim-company-banner-v21-card strong,
.fim-home-search-btn-v18,
.fim-home-pro-banner-cta-v20,
.fim-home-company-banner-card-v20 strong{
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    text-decoration: none;
    cursor: pointer;
    border-radius: 15px;
    font-weight: 600;
    letter-spacing: .01em;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        background .22s ease,
        border-color .22s ease,
        color .22s ease,
        filter .22s ease;
}
/* Shine subtil apenas em botões */
.fim-btn::before,
.fim-card-action::before,
.fim-card-link::before,
.fim-business-actions a::before,
.fim-result-actions a::before,
.fim-search-submit::before,
.fim-results-filter button::before,
.fim-newsletter button::before,
.fim-mobile-cta::before,
.fimp-action::before,
.fimp-upgrade-btn::before,
.fim-prof-actions a::before,
.fim-home-v21 .fim-btn::before,
.fim-home-v21 .fim-card-link::before,
.fim-search-v21-submit::before,
.fim-pro-banner-v21-card > a::before,
.fim-company-banner-v21-card strong::before,
.fim-home-search-btn-v18::before,
.fim-home-pro-banner-cta-v20::before,
.fim-home-company-banner-card-v20 strong::before{
    content: "";
    position: absolute;
    inset: 0 auto 0 -120%;
    width: 70%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.22),
        transparent
    );
    transform: skewX(-25deg);
    transition: left .7s ease;
    pointer-events: none;
    z-index: 1;
}
.fim-btn:hover::before,
.fim-card-action:hover::before,
.fim-card-link:hover::before,
.fim-business-actions a:hover::before,
.fim-result-actions a:hover::before,
.fim-search-submit:hover::before,
.fim-results-filter button:hover::before,
.fim-newsletter button:hover::before,
.fim-mobile-cta:hover::before,
.fimp-action:hover::before,
.fimp-upgrade-btn:hover::before,
.fim-prof-actions a:hover::before,
.fim-home-v21 .fim-btn:hover::before,
.fim-home-v21 .fim-card-link:hover::before,
.fim-search-v21-submit:hover::before,
.fim-pro-banner-v21-card > a:hover::before,
.fim-company-banner-v21-card strong:hover::before,
.fim-home-search-btn-v18:hover::before,
.fim-home-pro-banner-cta-v20:hover::before,
.fim-home-company-banner-card-v20 strong:hover::before{
    left: 140%;
}
/* Garante que conteúdo fique acima do shine */
.fim-btn > *,
.fim-card-action > *,
.fim-card-link > *,
.fim-business-actions a > *,
.fim-result-actions a > *,
.fim-search-submit > *,
.fim-results-filter button > *,
.fim-newsletter button > *,
.fim-mobile-cta > *,
.fimp-action > *,
.fimp-upgrade-btn > *,
.fim-prof-actions a > *{
    position: relative;
    z-index: 2;
}
/* BOTÕES COLORIDOS / PRIMÁRIOS */
.fim-btn-primary,
.fim-business-actions .is-primary,
.fim-result-actions .is-primary,
.fim-card-primary,
.fim-search-submit,
.fim-results-filter button,
.fim-newsletter button,
.fim-mobile-cta,
.fimp-action.primary,
.fimp-upgrade-btn,
.fim-prof-actions .is-primary,
.fim-home-v21 .fim-btn-primary,
.fim-search-v21-submit,
.fim-pro-banner-v21-card > a,
.fim-company-banner-v21-card strong,
.fim-home-search-btn-v18,
.fim-home-pro-banner-cta-v20,
.fim-home-company-banner-card-v20 strong{
    color: #fff !important;
    background: linear-gradient(135deg, var(--fim-btn-brand), var(--fim-btn-brand-2)) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: var(--fim-btn-shadow) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.fim-btn-primary:hover,
.fim-business-actions .is-primary:hover,
.fim-result-actions .is-primary:hover,
.fim-card-primary:hover,
.fim-search-submit:hover,
.fim-results-filter button:hover,
.fim-newsletter button:hover,
.fim-mobile-cta:hover,
.fimp-action.primary:hover,
.fimp-upgrade-btn:hover,
.fim-prof-actions .is-primary:hover,
.fim-home-v21 .fim-btn-primary:hover,
.fim-search-v21-submit:hover,
.fim-pro-banner-v21-card > a:hover,
.fim-company-banner-v21-card strong:hover,
.fim-home-search-btn-v18:hover,
.fim-home-pro-banner-cta-v20:hover,
.fim-home-company-banner-card-v20 strong:hover{
    transform: translateY(-2px);
    color: #fff !important;
    filter: saturate(1.04);
    box-shadow: 0 22px 44px rgba(32,196,168,.28) !important;
}
/* BOTÕES TRANSPARENTES / GLASS EM ÁREAS ESCURAS */
.fim-btn-glass,
.fimp-action,
.fim-profile-actions .fim-btn-light,
.fim-profile-actions .fim-card-action,
.fim-profile-hero .fim-btn-light,
.fim-profile-hero .fim-card-action,
.fim-hero-tags a,
.fim-search-v21-actions button,
.fim-search-v21-actions a,
.fim-home-search-extra-v18 button,
.fim-home-search-extra-v18 a{
    color: #fff !important;
    background: linear-gradient(
        180deg,
        rgba(255,255,255,.11),
        rgba(255,255,255,.055)
    ) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 10px 24px rgba(0,0,0,.10);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.fim-btn-glass:hover,
.fimp-action:hover,
.fim-profile-actions .fim-btn-light:hover,
.fim-profile-actions .fim-card-action:hover,
.fim-profile-hero .fim-btn-light:hover,
.fim-profile-hero .fim-card-action:hover,
.fim-hero-tags a:hover,
.fim-search-v21-actions button:hover,
.fim-search-v21-actions a:hover,
.fim-home-search-extra-v18 button:hover,
.fim-home-search-extra-v18 a:hover{
    transform: translateY(-2px);
    color: #fff !important;
    background: linear-gradient(
        180deg,
        rgba(255,255,255,.15),
        rgba(255,255,255,.075)
    ) !important;
    border-color: rgba(255,255,255,.26) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 16px 34px rgba(0,0,0,.16);
}
/* BOTÕES SOFT EM FUNDO CLARO */
.fim-btn-soft,
.fim-btn-outline,
.fim-card-action,
.fim-card-link,
.fim-business-actions a,
.fim-result-actions a,
.fim-prof-actions a,
.fim-home-v21 .fim-btn-soft,
.fim-home-v21 .fim-card-link{
    color: var(--fim-btn-brand-2) !important;
    background: rgba(32,196,168,.10) !important;
    border: 1px solid rgba(32,196,168,.22) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.45),
        0 10px 22px rgba(15,23,42,.045);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.fim-btn-soft:hover,
.fim-btn-outline:hover,
.fim-card-action:hover,
.fim-card-link:hover,
.fim-business-actions a:hover,
.fim-result-actions a:hover,
.fim-prof-actions a:hover,
.fim-home-v21 .fim-btn-soft:hover,
.fim-home-v21 .fim-card-link:hover{
    transform: translateY(-2px);
    color: #fff !important;
    background: linear-gradient(135deg, var(--fim-btn-brand), var(--fim-btn-brand-2)) !important;
    border-color: transparent !important;
    box-shadow: 0 16px 30px rgba(32,196,168,.16);
}
/* BOTÃO WHATSAPP CONTINUA VERDE, MAS COM MESMO ACABAMENTO */
.fim-card-wa{
    color: #047857 !important;
    background: rgba(16,185,129,.10) !important;
    border: 1px solid rgba(16,185,129,.24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.45),
        0 10px 22px rgba(16,185,129,.06);
}
.fim-card-wa:hover{
    color: #fff !important;
    background: linear-gradient(135deg, #10b981, #059669) !important;
    border-color: transparent !important;
    box-shadow: 0 16px 30px rgba(16,185,129,.16);
}
/* BOTÕES MENORES EM CARDS */
.fim-card-link,
.fim-card-action,
.fim-business-actions a,
.fim-result-actions a,
.fim-prof-actions a{
    min-height: 38px;
    height: 38px;
    padding: 0 14px;
    border-radius: 13px;
    font-size: 13px;
    font-weight: 600;
}
/* PERFIL DE ENTIDADE — mantêm transparência premium nos botões do hero */
.fimp-actions-row .fimp-action{
    min-height: 48px;
    padding: 0 18px;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 600;
}
.fimp-actions-row .fimp-action.primary{
    color: #fff !important;
    background: linear-gradient(135deg, var(--fim-btn-brand), var(--fim-btn-brand-2)) !important;
    border-color: rgba(255,255,255,.18) !important;
    box-shadow: 0 16px 32px rgba(32,196,168,.18) !important;
}
/* BOTÕES DESATIVADOS/BLOQUEADOS */
.fimp-action.locked,
.fim-premium-locked,
button:disabled,
.fim-btn[disabled]{
    cursor: not-allowed !important;
    opacity: .68;
    filter: grayscale(.18);
    transform: none !important;
}
.fimp-action.locked:hover,
.fim-premium-locked:hover,
button:disabled:hover,
.fim-btn[disabled]:hover{
    transform: none !important;
}
/* NÃO APLICAR SHINE/BUTTON STYLE EM BADGES */
.fim-badge::before,
.fim-badge-gold::before,
.fimp-plan-badge::before,
.fimp-plan-badge.gold::before,
.fim-home-entity-card-v18 .badge::before,
.fim-home-pro-card-v18 .badge::before{
    pointer-events: none;
}
/* RESPONSIVO: mantém botões elegantes sem forçar tudo a 100% */
@media (max-width: 768px){
    .fim-profile-actions .fim-btn,
.fim-profile-actions .fim-card-action,
.fimp-actions-row .fimp-action,
.fim-search-v21-submit,
.fim-home-search-btn-v18{
        width: 100%;
    }
}
/* ==========================================================================
   FINDINMOZ — SEARCH DROPDOWN FIX DEFINITIVO
   Implementado para homepage V21.
   Corrige lista de sugestões ficando atrás dos cards/sections.
   Colocar no fim do ficheiro para sobrescrever regras anteriores.
   ========================================================================== */
/* O hero e o formulário precisam permitir que o dropdown saia por cima */
.fim-home-v21,
.fim-home-hero-v21,
.fim-hero-v21-grid,
.fim-hero-v21-copy,
.fim-search-v21,
.fim-search-v21-row,
.fim-search-v21-field{
    position: relative !important;
    overflow: visible !important;
}
/* Cria uma camada superior para toda a área da pesquisa */
.fim-home-hero-v21{
    z-index: 5000 !important;
}
.fim-hero-v21-grid{
    z-index: 5100 !important;
}
.fim-hero-v21-copy{
    z-index: 5200 !important;
}
.fim-search-v21{
    z-index: 5300 !important;
}
.fim-search-v21-row,
.fim-search-v21-field{
    z-index: 5400 !important;
}
/* Dropdown principal da pesquisa da homepage */
#fimHomeSuggestions,
.fim-home-suggestions-v18,
.fim-suggestions-v21{
    position: absolute !important;
    top: calc(100% + 12px) !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 999999 !important;
    max-height: 390px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.985) !important;
    border: 1px solid rgba(226,232,240,.95) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    box-shadow:
        0 36px 92px rgba(15,23,42,.22),
        0 10px 30px rgba(32,196,168,.12) !important;
    transform: translateZ(0);
    isolation: isolate;
}
/* Mantém escondido quando vazio */
#fimHomeSuggestions:empty{
    display: none !important;
}
/* Mostra quando o JS injeta resultados */
#fimHomeSuggestions:not(:empty){
    display: block !important;
    animation: fimSearchDropFix .18s ease both;
}
@keyframes fimSearchDropFix{
    from{
        opacity: 0;
        transform: translateY(8px) scale(.985);
    }
    to{
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
/* Itens internos — suporta markup antigo e markup novo */
#fimHomeSuggestions a,
.fim-home-suggestions-v18 a,
.fim-suggestions-v21 a,
.fim-suggestion-item{
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 66px !important;
    padding: 13px 16px !important;
    color: #0f2135 !important;
    text-decoration: none !important;
    background: transparent !important;
    border-bottom: 1px solid #eef2f7 !important;
    transition:
        background .18s ease,
        transform .18s ease !important;
}
#fimHomeSuggestions a:last-child,
.fim-home-suggestions-v18 a:last-child,
.fim-suggestions-v21 a:last-child,
.fim-suggestion-item:last-child{
    border-bottom: 0 !important;
}
#fimHomeSuggestions a:hover,
.fim-home-suggestions-v18 a:hover,
.fim-suggestions-v21 a:hover,
.fim-suggestion-item:hover{
    background: rgba(32,196,168,.065) !important;
    transform: translateX(2px);
}
/* Logo/ícone das sugestões */
#fimHomeSuggestions .suggest-logo,
.fim-home-suggestions-v18 .suggest-logo,
.fim-suggestions-v21 .suggest-logo,
.fim-suggestion-logo{
    flex: 0 0 auto !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #0f766e !important;
}
#fimHomeSuggestions .suggest-logo img,
.fim-home-suggestions-v18 .suggest-logo img,
.fim-suggestions-v21 .suggest-logo img,
.fim-suggestion-logo{
    object-fit: contain !important;
}
/* Premium: logo com destaque subtil */
#fimHomeSuggestions a.premium .suggest-logo,
.fim-home-suggestions-v18 a.premium .suggest-logo,
.fim-suggestions-v21 a.premium .suggest-logo{
    background: linear-gradient(135deg, #20C4A8, #17a890) !important;
    border-color: rgba(32,196,168,.28) !important;
    box-shadow: 0 10px 22px rgba(32,196,168,.18) !important;
}
#fimHomeSuggestions a.premium .suggest-logo img,
.fim-home-suggestions-v18 a.premium .suggest-logo img,
.fim-suggestions-v21 a.premium .suggest-logo img{
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #fff !important;
    padding: 4px !important;
}
/* Standard: mostra logo discreto, sem destaque premium */
#fimHomeSuggestions a.standard .suggest-logo,
.fim-home-suggestions-v18 a.standard .suggest-logo,
.fim-suggestions-v21 a.standard .suggest-logo{
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
    filter: saturate(.78) !important;
}
#fimHomeSuggestions a.standard .suggest-logo img,
.fim-home-suggestions-v18 a.standard .suggest-logo img,
.fim-suggestions-v21 a.standard .suggest-logo img{
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #fff !important;
    padding: 4px !important;
    opacity: .76 !important;
}
/* Texto das sugestões */
#fimHomeSuggestions small,
.fim-home-suggestions-v18 small,
.fim-suggestions-v21 small,
.fim-suggestion-meta{
    display: block !important;
    color: #0f766e !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    margin-bottom: 2px !important;
}
#fimHomeSuggestions strong,
.fim-home-suggestions-v18 strong,
.fim-suggestions-v21 strong,
.fim-suggestion-title{
    display: block !important;
    color: #0f2135 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}
#fimHomeSuggestions em,
.fim-home-suggestions-v18 em,
.fim-suggestions-v21 em{
    display: block !important;
    margin-top: 2px !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 700 !important;
}
/* Impede que blocos seguintes passem por cima do dropdown */
.fim-proof-v21,
.fim-section-v21,
.fim-card-grid-v21,
.fim-pro-banner-v21,
.fim-company-banner-v21,
.fim-benefits-v21,
.fim-campaign-grid-v21,
.fim-campaign-card-v21,
.fim-pro-banner-v21-card,
.fim-company-banner-v21-card,
.fim-home-entity-card-v18,
.fim-home-pro-card-v18{
    position: relative;
    z-index: 1 !important;
}
/* O painel lateral do hero fica abaixo da pesquisa */
.fim-hero-v21-panel{
    position: relative;
    z-index: 10 !important;
}
/* Remove clipping vertical no fluxo da homepage */
body,
main,
.fim-main,
.fim-home-v21{
    overflow-x: hidden;
    overflow-y: visible !important;
}
/* Em mobile o dropdown ocupa a largura interna do form */
@media (max-width: 760px){
    #fimHomeSuggestions,
.fim-home-suggestions-v18,
.fim-suggestions-v21{
        left: 10px !important;
        right: 10px !important;
        top: calc(100% + 10px) !important;
        max-height: 340px !important;
    }
}
/* ==========================================================================
   FINDINMOZ — SEARCH DROPDOWN FIX V2
   Corrige efeito colateral: cards/proof acima do hero voltam a aparecer.
   Estratégia:
   - Hero fica em camada normal.
   - Cards/proof ficam acima do hero normalmente.
   - Hero/search sobe apenas quando a pesquisa está em foco.
   ========================================================================== */
/* Estado normal: permite que os cards negativos/subidos apareçam por cima do hero */
.fim-home-hero-v21{
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
}
.fim-proof-v21{
    position: relative !important;
    z-index: 30 !important;
}
/* Outros blocos continuam normais, abaixo dos cards de prova */
.fim-section-v21,
.fim-pro-banner-v21,
.fim-company-banner-v21,
.fim-section-v21.campaigns{
    position: relative !important;
    z-index: 2 !important;
}
/* A pesquisa precisa estar acima dentro do hero */
.fim-hero-v21-grid,
.fim-hero-v21-copy,
.fim-search-v21,
.fim-search-v21-row,
.fim-search-v21-field{
    position: relative !important;
    overflow: visible !important;
}
/* Normalmente, o formulário fica acima do conteúdo do hero, mas não acima dos proof cards */
.fim-hero-v21-grid{
    z-index: 3 !important;
}
.fim-search-v21{
    z-index: 5 !important;
}
/* Quando o utilizador clica/digita na pesquisa, a hero sobe temporariamente */
.fim-home-hero-v21:focus-within{
    z-index: 9990 !important;
}
/* Também sobe quando o browser suporta :has e há resultados injetados */
.fim-home-hero-v21:has(#fimHomeSuggestions:not(:empty)){
    z-index: 9990 !important;
}
.fim-search-v21:focus-within{
    z-index: 9995 !important;
}
/* Dropdown sempre acima durante interação */
#fimHomeSuggestions,
.fim-home-suggestions-v18,
.fim-suggestions-v21{
    z-index: 999999 !important;
}
/* O painel lateral nunca deve ficar acima da lista da pesquisa */
.fim-hero-v21-panel{
    position: relative !important;
    z-index: 2 !important;
}
/* Evita que cards recomendados/proof tapem a lista apenas enquanto há foco na pesquisa */
.fim-home-hero-v21:focus-within + .fim-proof-v21,
.fim-home-hero-v21:has(#fimHomeSuggestions:not(:empty)) + .fim-proof-v21{
    z-index: 1 !important;
}
/* Se houver sections logo após o proof, elas continuam no fluxo normal */
.fim-card-grid-v21,
.fim-home-entity-card-v18,
.fim-home-pro-card-v18,
.fim-benefits-v21,
.fim-campaign-grid-v21,
.fim-campaign-card-v21{
    position: relative;
    z-index: 1 !important;
}
/* ==========================================================================
   FINDINMOZ — CORREÇÃO DE CAMINHOS E VISUAL DAS IMAGENS
   Entidades: dashadmin/dashboard/img/entidades
   Profissionais: dashadmin/dashboard/img/profissionais
   ========================================================================== */
.fim-home-entity-card-v18 .logo img,
.fim-hero-v21-mini-card .mini-logo img,
#fimHomeSuggestions .suggest-logo img,
.fim-home-suggestions-v18 .suggest-logo img,
.fim-suggestions-v21 .suggest-logo img{
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #fff !important;
}
.fim-home-pro-card-v18 .photo img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    background: #f8fafc !important;
}
.fim-home-entity-card-v18 .logo{
    background: linear-gradient(135deg, rgba(32,196,168,.96), rgba(23,168,144,.96)) !important;
}
.fim-home-entity-card-v18.standard .logo img,
#fimHomeSuggestions a.standard .suggest-logo img,
.fim-home-suggestions-v18 a.standard .suggest-logo img,
.fim-suggestions-v21 a.standard .suggest-logo img{
    opacity: .74 !important;
    filter: saturate(.82) !important;
}
.fim-home-entity-card-v18.standard .logo{
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
}
/* ==========================================================================
   FINDINMOZ — PESQUISA CONSOLIDADA, PROVÍNCIAS E ESTRELAS DINÂMICAS
   ========================================================================== */
.fim-search-stars,
.fim-home-stars{
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #f59e0b;
    line-height: 1;
}
.fim-search-stars i,
.fim-home-stars i{
    color: #f59e0b !important;
    font-size: 13px;
}
.fim-search-stars .fa-regular,
.fim-home-stars .fa-regular{
    color: #cbd5e1 !important;
}


.fim-results-toolbar{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}
.fim-results-toolbar span{
    display: block;
    color: #64748b;
    font-size: 13px;
    margin-top: 3px;
}

.fim-view-switch a,
.fim-page-btn,
.fim-page-number{
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    border-radius: 999px;
    text-decoration: none;
    color: #0f766e;
    background: rgba(32,196,168,.10);
    border: 1px solid rgba(32,196,168,.22);
    font-size: 13px;
    font-weight: 850;
}
.fim-view-switch a.is-active,
.fim-page-number.is-active,
.fim-page-btn.is-primary{
    color: #fff;
    background: linear-gradient(135deg,#20C4A8,#17a890);
    border-color: transparent;
}
.fim-pagination{
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

@media (max-width: 760px){
    .fim-results-toolbar{
        align-items: flex-start;
        flex-direction: column;
    }
}
.fim-premium-badge{
    position:relative;
    overflow:hidden;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 12px;
    border-radius:999px;
    background:linear-gradient(135deg,#20C4A8,#17a890);
    color:#fff;
    font-size:12px;
    font-weight:800;
}
.fim-premium-badge::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:70%;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
    transform:skewX(-25deg);
    animation:fimBadgeShine 5s infinite;
}
@keyframes fimBadgeShine{
    0%,
60%{left:-120%}
    100%{left:150%}
}
.fim-results-list{
    display:grid;
    gap:22px;
}
.fim-result-card{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:22px;
    padding:22px;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(32,196,168,.12);
    box-shadow:0 18px 50px rgba(15,23,42,.06);
}
.fim-result-logo img{
    width:120px;
    height:120px;
    object-fit:cover;
    border-radius:24px;
}
.fim-result-content h2{
    margin:0 0 10px;
    font-size:24px;
}
.fim-result-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.fim-result-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:16px;
}
.fim-result-meta span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(32,196,168,.08);
    color:#0f766e;
    font-size:12px;
    font-weight:700;
}
@media (max-width:768px){
    .fim-result-card{
        grid-template-columns:1fr;
    }
    .fim-result-logo img{
        width:100%;
        height:220px;
    }
}
/* ==========================================================================
   FINDINMOZ — PESQUISA GERAL FINAL COM FILTROS
   ========================================================================== */
.fim-results-layout{
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:24px;
    align-items:start;
}
.fim-results-filter{
    position:sticky;
    top:110px;
    padding:22px;
    border-radius:26px;
    background:#fff;
    border:1px solid rgba(32,196,168,.14);
    box-shadow:0 18px 50px rgba(15,23,42,.06);
}
.fim-results-filter h3{
    margin:0 0 16px;
    color:#0f2135;
    font-size:20px;
}
.fim-results-filter form{
    display:grid;
    gap:10px;
}
.fim-results-filter label{
    color:#334155;
    font-size:12px;
    font-weight:500;
    margin-top:5px;
}
.fim-results-filter input,
.fim-results-filter select{
    min-height:42px;
    border-radius:14px;
    border:1px solid #e5edf3;
    padding:0 13px;
    outline:0;
    color:#0f2135;
    background:#fbfefd;
}
.fim-results-filter button{
    min-height:44px;
    margin-top:8px;
    border:0;
    border-radius:15px;
    color:#fff;
    background:linear-gradient(135deg,#20C4A8,#17a890);
    font-weight:500;
    cursor:pointer;
}
.fim-results-list{
    display:grid;
    gap:18px;
}
.fim-result-card{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:20px;
    padding:20px;
    border-radius:26px;
    background:#fff;
    border:1px solid rgba(32,196,168,.12);
    box-shadow:0 18px 50px rgba(15,23,42,.06);
}
.fim-result-logo{
    width:118px;
    height:118px;
    border-radius:22px;
    overflow:hidden;
    background:#f8fafc;
    display:flex;
    align-items:center;
    justify-content:center;
}
.fim-result-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    background:#fff;
}
.fim-result-card .fim-result-content h2{
    margin:6px 0 8px;
    color:#0f2135;
    font-size:22px;
    line-height:1.2;
}
.fim-result-card .fim-result-content h2 a{
    color:inherit;
    text-decoration:none;
}
.fim-result-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.fim-result-line span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#0f766e;
    font-size:13px;
    font-weight:500;
}
.fim-premium-badge{
    position:relative;
    overflow:hidden;
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:28px;
    padding:0 11px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,#facc15,#f59e0b);
    font-size:12px;
    font-weight:900;
}
.fim-premium-badge::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:80%;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
    transform:skewX(-25deg);
    animation:fimpBadgeShine 5.8s ease-in-out infinite;
}
.fim-result-rating{
    display:flex;
    align-items:center;
    gap:8px;
    margin:8px 0;
}
.fim-search-stars{
    display:inline-flex;
    gap:2px;
    color:#f59e0b;
}
.fim-search-stars i{
    color:#f59e0b;
    font-size:13px;
}
.fim-search-stars .fa-regular{
    color:#cbd5e1;
}
.fim-result-rating small{
    color:#64748b;
    font-size:12px;
    font-weight:750;
}
.fim-result-content p{
    color:#64748b;
    line-height:1.56;
}
.fim-result-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}
.fim-result-meta span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 11px;
    border-radius:999px;
    color:#0f766e;
    background:rgba(32,196,168,.08);
    font-size:12px;
    font-weight:800;
}
.fim-result-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:14px;
}
.fim-result-actions a{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 13px;
    border-radius:999px;
    text-decoration:none;
    color:#0f766e;
    background:rgba(32,196,168,.10);
    border:1px solid rgba(32,196,168,.22);
    font-size:13px;
    font-weight:500;
}
.fim-result-actions a.is-primary,
.fim-page-btn.is-primary{
    color:#fff;
    background:linear-gradient(135deg,#20C4A8,#17a890);
    border-color:transparent;
}

.fim-page-btn{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0 14px;
    border-radius:999px;
    color:#0f766e;
    background:rgba(32,196,168,.10);
    border:1px solid rgba(32,196,168,.22);
    text-decoration:none;
    font-weight:500;
}
.fim-empty-state{
    padding:46px 24px;
    text-align:center;
    border-radius:28px;
    background:#fff;
    border:1px solid rgba(32,196,168,.12);
    box-shadow:0 18px 50px rgba(15,23,42,.06);
}
.fim-empty-state i{
    width:58px;
    height:58px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    background:#f0fdfa;
    color:#0f766e;
    font-size:26px;
    margin-bottom:12px;
}
@media (max-width:980px){
    .fim-results-layout{grid-template-columns:1fr;}
    .fim-results-filter{position:relative;top:auto;}
}
@media (max-width:680px){
    .fim-result-card{grid-template-columns:1fr;}
    .fim-result-logo{width:100%;height:190px;}
}
/* FINDINMOZ — pesquisa entidades/lista/grelha/compacta */
.fim-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.fim-view-switch{display:flex;gap:8px;flex-wrap:wrap}
.fim-view-switch a{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:999px;text-decoration:none;color:#0f766e;background:rgba(32,196,168,.10);border:1px solid rgba(32,196,168,.22);font-size:13px;font-weight:500}
.fim-view-switch a.is-active{color:#fff;background:linear-gradient(135deg,#20C4A8,#17a890);border-color:transparent}


.fim-view-grelha .fim-result-logo{width:100%;height:170px}
.fim-view-compacto .fim-result-card{grid-template-columns:72px 1fr;padding:14px;border-radius:20px}
.fim-view-compacto .fim-result-logo{width:72px;height:72px;border-radius:16px}

@media (max-width:760px){.fim-results-toolbar{flex-direction:column;align-items:flex-start}}
/* FINDINMOZ — pesquisa geral views + hero recomendações slider */
.fim-hero-v21-reco-slider{
    position:relative;
    min-height:78px;
}
.fim-hero-v21-reco-slider .fim-hero-reco-slide{
    display:flex;
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:opacity .35s ease, transform .35s ease, visibility .35s ease;
    position:absolute;
    inset:0;
}
.fim-hero-v21-reco-slider .fim-hero-reco-slide.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    position:relative;
}
.fim-hero-reco-dots{
    display:flex;
    gap:6px;
    margin-top:12px;
    justify-content:center;
}
.fim-hero-reco-dots span{
    width:6px;
    height:6px;
    border-radius:999px;
    background:rgba(255,255,255,.28);
    transition:.25s ease;
}
.fim-hero-reco-dots span.active{
    width:18px;
    background:#20C4A8;
}
.fim-view-grelha{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.fim-view-grelha .fim-result-card{
    grid-template-columns:1fr;
}
.fim-view-grelha .fim-result-logo{
    width:100%;
    height:180px;
}
.fim-view-compacto .fim-result-card{
    grid-template-columns:74px 1fr;
    padding:14px;
    border-radius:20px;
}
.fim-view-compacto .fim-result-logo{
    width:74px;
    height:74px;
    border-radius:16px;
}
.fim-view-compacto .fim-result-content p{
    display:none;
}
.fim-view-compacto .fim-result-actions{
    margin-top:8px;
}
@media (max-width:760px){
    .fim-view-grelha{grid-template-columns:1fr;}
    .fim-view-compacto .fim-result-card{grid-template-columns:1fr;}
    .fim-view-compacto .fim-result-logo{width:100%;height:160px;}
}
/* FINDINMOZ — ajuste final views pesquisa geral + restrição standard */
.fim-results-list.fim-view-lista{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
}
.fim-results-list.fim-view-grelha{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
}
.fim-results-list.fim-view-grelha .fim-result-card{
    grid-template-columns:1fr !important;
}
.fim-results-list.fim-view-grelha .fim-result-logo{
    width:100% !important;
    height:180px !important;
}
.fim-results-list.fim-view-compacto{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
}
.fim-results-list.fim-view-compacto .fim-result-card{
    grid-template-columns:74px 1fr !important;
    padding:14px !important;
    border-radius:20px !important;
}
.fim-results-list.fim-view-compacto .fim-result-logo{
    width:74px !important;
    height:74px !important;
    border-radius:16px !important;
}
.fim-results-list.fim-view-compacto .fim-result-content p:not(.fim-standard-locked-text),
.fim-results-list.fim-view-compacto .fim-result-meta{
    display:none !important;
}
.fim-standard-locked-card{
    background:linear-gradient(180deg,#fff,#fbfefd) !important;
}
.fim-standard-hidden-logo{
    background:#f8fafc !important;
    border:1px solid #e2e8f0 !important;
    color:#94a3b8 !important;
    font-size:28px !important;
}
.fim-standard-hidden-logo i{
    opacity:.85;
}
.fim-standard-mini-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:26px;
    padding:0 10px;
    border-radius:999px;
    color:#64748b;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    font-size:12px;
    font-weight:500;
}
.fim-standard-locked-text{
    color:#64748b !important;
    font-size:13px !important;
    line-height:1.5 !important;
    margin:8px 0 0 !important;
}
.fim-pagination{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:14px !important;
    flex-wrap:wrap !important;
    margin-top:22px !important;
}
.fim-pagination-summary{
    color:#64748b;
    font-size:13px;
    font-weight:800;
}
.fim-pagination-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.fim-page-number{
    min-height:38px;
    min-width:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    color:#0f766e;
    background:rgba(32,196,168,.10);
    border:1px solid rgba(32,196,168,.22);
    text-decoration:none;
    font-size:13px;
    font-weight:500;
}
.fim-page-number.is-active{
    color:#fff;
    background:linear-gradient(135deg,#20C4A8,#17a890);
    border-color:transparent;
}
@media (max-width:760px){
    .fim-results-list.fim-view-grelha{grid-template-columns:1fr !important;}
    .fim-results-list.fim-view-compacto .fim-result-card{grid-template-columns:1fr !important;}
    .fim-results-list.fim-view-compacto .fim-result-logo{width:100% !important;height:150px !important;}
}
/* ==========================================================================
   FINDINMOZ — CADASTRO ENTIDADE WIZARD + REGRA LOGO STANDARD NA PESQUISA
   ========================================================================== */
.fim-home-suggestions-v18 a.standard .suggest-logo,
.fim-suggestions-v21 a.standard .suggest-logo,
#fimHomeSuggestions a.standard .suggest-logo{
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #94a3b8 !important;
}
.fim-home-suggestions-v18 a.standard .suggest-logo img,
.fim-suggestions-v21 a.standard .suggest-logo img,
#fimHomeSuggestions a.standard .suggest-logo img{
    display: none !important;
}
.fim-home-suggestions-v18 a.standard .suggest-logo i,
.fim-suggestions-v21 a.standard .suggest-logo i,
#fimHomeSuggestions a.standard .suggest-logo i{
    font-size: 20px;
}
.fim-entity-wizard-page{
    padding: 72px 0;
    background:
        radial-gradient(circle at 12% 12%, rgba(32,196,168,.10), transparent 28%),
        linear-gradient(180deg, #f7fbfb, #fff);
}
.fim-entity-wizard-shell{
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 28px;
    align-items: start;
}
.fim-entity-wizard-intro{
    position: sticky;
    top: 120px;
    padding: 34px;
    border-radius: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(255,255,255,.16), transparent 30%),
        linear-gradient(135deg, #061a2b, #08796d);
    box-shadow: 0 24px 70px rgba(15,23,42,.14);
}

.fim-entity-wizard-intro h1{
    margin: 18px 0 14px;
    color: #fff;
    font-size: clamp(30px, 3.8vw, 48px);
    line-height: 1.06;
    letter-spacing: -.045em;
}
.fim-entity-wizard-intro p{
    color: #dffff8;
    line-height: 1.65;
    font-size: 15px;
}
.fim-entity-wizard-benefits{
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}
.fim-entity-wizard-benefits span{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    color: #eafffb;
    font-size: 12px;
    font-weight: 800;
}
.fim-entity-wizard-card{
    padding: 24px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid #e5edf3;
    box-shadow: 0 20px 60px rgba(15,23,42,.08);
}
.fim-wizard-steps{
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 9px;
    margin-bottom: 22px;
}
.fim-wizard-steps button{
    min-height: 46px;
    border: 1px solid #e5edf3;
    background: #f8fafc;
    color: #64748b;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}
.fim-wizard-steps button span{
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #475569;
    font-size: 11px;
}
.fim-wizard-steps button.active{
    color: #fff;
    background: linear-gradient(135deg, #20C4A8, #17a890);
    border-color: transparent;
    box-shadow: 0 12px 28px rgba(32,196,168,.18);
}
.fim-wizard-steps button.active span{
    background: rgba(255,255,255,.22);
    color: #fff;
}
.fim-wizard-step{
    display: none;
}
.fim-wizard-step.active{
    display: block;
    animation: fimWizardIn .22s ease;
}
@keyframes fimWizardIn{
    from{ opacity: 0; transform: translateY(8px); }
    to{ opacity: 1; transform: translateY(0); }
}
.fim-wizard-step h2{
    margin: 0 0 7px;
    color: #0f2135;
    font-size: 24px;
    letter-spacing: -.025em;
}
.fim-wizard-step > p{
    margin: 0 0 20px;
    color: #64748b;
    line-height: 1.55;
}
.fim-form-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
}
.fim-form-grid label{
    display: grid;
    gap: 7px;
}
.fim-form-grid label.wide{
    grid-column: 1 / -1;
}
.fim-form-grid label span{
    color: #334155;
    font-size: 13px;
    font-weight: 850;
}
.fim-form-grid input,
.fim-form-grid select,
.fim-form-grid textarea{
    width: 100%;
    border: 1px solid #e5edf3;
    border-radius: 16px;
    background: #fbfefd;
    color: #0f2135;
    padding: 12px 14px;
    outline: none;
    font: inherit;
}
.fim-form-grid input,
.fim-form-grid select{
    min-height: 46px;
}
.fim-form-grid textarea{
    resize: vertical;
}
.fim-form-grid input:focus,
.fim-form-grid select:focus,
.fim-form-grid textarea:focus{
    border-color: rgba(32,196,168,.55);
    box-shadow: 0 0 0 4px rgba(32,196,168,.10);
}
.fim-logo-upload small{
    color: #64748b;
    font-size: 12px;
}
.fim-entity-summary{
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
}
.fim-entity-summary article{
    padding: 16px;
    border-radius: 20px;
    background: #f8fafc;
    border: 1px solid #e5edf3;
}
.fim-entity-summary i{
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #f0fdfa;
    color: #0f766e;
    margin-bottom: 10px;
}
.fim-entity-summary strong,
.fim-entity-summary span{
    display: block;
}
.fim-entity-summary strong{
    color: #0f2135;
    font-size: 13px;
    margin-bottom: 4px;
}
.fim-entity-summary span{
    color: #64748b;
    font-size: 13px;
}
.fim-wizard-actions{
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}
.fim-form-alert{
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px 15px;
    border-radius: 16px;
    margin-bottom: 16px;
    font-weight: 800;
    font-size: 13px;
}
.fim-form-alert.error{
    color: #991b1b;
    background: #fef2f2;
    border: 1px solid #fecaca;
}
.fim-form-alert.success{
    color: #047857;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
}
@media (max-width: 980px){
    .fim-entity-wizard-shell{
        grid-template-columns: 1fr;
    }
    .fim-entity-wizard-intro{
        position: relative;
        top: auto;
    }
}
@media (max-width: 680px){
    .fim-wizard-steps,
.fim-form-grid,
.fim-entity-summary{
        grid-template-columns: 1fr;
    }
    .fim-wizard-actions{
        flex-direction: column;
    }
    .fim-wizard-actions .fim-btn{
        width: 100%;
    }
}
/* FINDINMOZ — métricas entidade + botões menores com shine */




.fim-views-chip{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:6px;
    color:#d7f7f1!important;
    background:rgba(32,196,168,.10);
    border:1px solid rgba(32,196,168,.18);
    border-radius:999px;
    padding:6px 10px;
    font-size:12px!important;
    font-weight:500;
}
.fim-card-views{
    /* color:#d7fffa!important; */
    font-weight:500!important;
}
/* FINDINMOZ — redes sociais no hero da entidade + view real */


















/* FINDINMOZ — Ranking/Credibilidade front */
.fim-rank-badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    font-size:12px;
    font-weight:850;
    border:1px solid transparent;
    white-space:nowrap;
}
.fim-rank-badge i{font-size:12px}
.fim-rank-badge small{
    opacity:.78;
    font-size:11px;
    font-weight:800;
}
.fim-rank-badge.muted{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
.fim-rank-badge.info{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}
.fim-rank-badge.primary{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}
.fim-rank-badge.success{background:#ecfdf5;color:#047857;border-color:#bbf7d0}
.fim-rank-badge.warning{background:#fffbeb;color:#b45309;border-color:#fde68a}
.fim-rank-badge.gold{
    color:#5f4300;
    background:linear-gradient(135deg,#fff7cc,#f5c542);
    border-color:rgba(180,83,9,.18);
    box-shadow:0 10px 26px rgba(245,197,66,.18);
}
.fim-rank-badge.lg{
    min-height:38px;
    padding:0 14px;
    font-size:13px;
}
.fim-rank-line{
    display:grid;
    gap:6px;
    min-width:140px;
}
.fim-rank-line span{
    display:flex;
    align-items:center;
    gap:6px;
    color:#0f766e;
    font-size:12px;
    font-weight:850;
}
.fim-rank-line>div{
    height:8px;
    border-radius:999px;
    background:#e2e8f0;
    overflow:hidden;
}
.fim-rank-line>div i{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(135deg,#20C4A8,#17a890);
}
.fim-rank-mini{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}
.fim-rank-score-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    background:rgba(32,196,168,.10);
    color:#0f766e;
    border:1px solid rgba(32,196,168,.18);
    font-size:12px;
    font-weight:850;
}


/* FINDINMOZ — Selos avançados + anti-fraude visual */
.fim-advanced-badges{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:10px;
}
.fim-advanced-badge{
    min-height:30px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0 11px;
    border-radius:999px;
    font-size:12px;
    font-weight:850;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:0 12px 24px rgba(15,23,42,.08);
}
.fim-advanced-badge::before{
    content:"";
    position:absolute;
    inset:0 auto 0 -120%;
    width:70%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
    transform:skewX(-25deg);
    transition:left .65s ease;
}
.fim-advanced-badge:hover::before{left:140%}
.fim-advanced-badge.gold{background:linear-gradient(135deg,#fff7cc,#f5c542);color:#5f4300;border-color:rgba(180,83,9,.20)}
.fim-advanced-badge.blue{background:rgba(59,130,246,.14);color:#1d4ed8;border-color:rgba(59,130,246,.22)}
.fim-advanced-badge.green{background:rgba(32,196,168,.14);color:#0f766e;border-color:rgba(32,196,168,.22)}
.fim-advanced-badge.purple{background:rgba(124,58,237,.13);color:#6d28d9;border-color:rgba(124,58,237,.20)}
.fim-advanced-badge.orange{background:rgba(249,115,22,.13);color:#c2410c;border-color:rgba(249,115,22,.22)}
.fim-advanced-badge.soft{background:#f8fafc;color:#475569;border-color:#e2e8f0}


/* FINDINMOZ — Pop-up premium de consentimento */
.fim-cookie-overlay{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:rgba(2,11,19,.42);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    opacity:0;
    pointer-events:none;
    transition:opacity .28s ease;
}
.fim-cookie-overlay.is-visible{
    opacity:1;
    pointer-events:auto;
}
.fim-cookie-modal{
    position:relative;
    width:min(620px,100%);
    overflow:hidden;
    border-radius:30px;
    background:
        radial-gradient(circle at 88% 8%, rgba(32,196,168,.18), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,255,253,.96));
    border:1px solid rgba(32,196,168,.18);
    box-shadow:0 34px 100px rgba(15,23,42,.30);
    padding:28px;
    transform:translateY(18px) scale(.98);
    transition:transform .28s ease;
}
.fim-cookie-overlay.is-visible .fim-cookie-modal{
    transform:translateY(0) scale(1);
}
.fim-cookie-glow{
    position:absolute;
    inset:auto -80px -120px auto;
    width:240px;
    height:240px;
    border-radius:999px;
    background:rgba(32,196,168,.16);
    filter:blur(12px);
    pointer-events:none;
}
.fim-cookie-icon{
    width:58px;
    height:58px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#042f2e;
    background:linear-gradient(135deg,#20C4A8,#bffdf0);
    box-shadow:0 18px 38px rgba(32,196,168,.24);
    margin-bottom:18px;
    position:relative;
    overflow:hidden;
}
.fim-cookie-icon::before{
    content:"";
    position:absolute;
    inset:0 auto 0 -120%;
    width:75%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.50),transparent);
    transform:skewX(-24deg);
    animation:fimCookieShine 5.8s ease-in-out infinite;
}
@keyframes fimCookieShine{
    0%,
60%{left:-120%;opacity:0}
    72%{opacity:1}
    100%{left:140%;opacity:0}
}
.fim-cookie-kicker{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    color:#0f766e;
    background:rgba(32,196,168,.10);
    border:1px solid rgba(32,196,168,.18);
    font-size:12px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:12px;
}
.fim-cookie-content h2{
    margin:0;
    color:#102033;
    font-size:clamp(24px,4vw,34px);
    line-height:1.12;
    letter-spacing:-.04em;
    font-weight:900;
}
.fim-cookie-content p{
    margin:14px 0 0;
    color:#64748b;
    line-height:1.7;
    font-size:15px;
}
.fim-cookie-note{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:16px;
    padding:13px 14px;
    border-radius:18px;
    background:rgba(32,196,168,.09);
    border:1px solid rgba(32,196,168,.16);
    color:#0f766e;
    font-size:13px;
    line-height:1.55;
}
.fim-cookie-note i{margin-top:3px}
.fim-cookie-preferences{
    margin-top:16px;
    display:grid;
    gap:10px;
}
.fim-cookie-preferences[hidden]{display:none}
.fim-cookie-preferences label{
    display:grid;
    grid-template-columns:22px 1fr;
    gap:2px 10px;
    padding:12px;
    border-radius:17px;
    border:1px solid rgba(15,23,42,.08);
    background:#fff;
    cursor:pointer;
}
.fim-cookie-preferences input{
    grid-row:1 / span 2;
    margin-top:4px;
    accent-color:#20C4A8;
}
.fim-cookie-preferences span{
    color:#102033;
    font-size:14px;
    font-weight:850;
}
.fim-cookie-preferences small{
    color:#64748b;
    line-height:1.45;
}
.fim-cookie-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:10px;
    margin-top:22px;
}
.fim-cookie-btn{
    min-height:42px;
    border:0;
    border-radius:999px;
    padding:0 16px;
    font-size:13px;
    font-weight:850;
    cursor:pointer;
    transition:.22s ease;
    position:relative;
    overflow:hidden;
}
.fim-cookie-btn::before{
    content:"";
    position:absolute;
    inset:0 auto 0 -120%;
    width:70%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
    transform:skewX(-24deg);
    transition:left .5s ease;
}
.fim-cookie-btn:hover{
    transform:translateY(-1px);
}
.fim-cookie-btn:hover::before{
    left:135%;
}
.fim-cookie-btn.primary{
    color:#fff;
    background:linear-gradient(135deg,#20C4A8,#17a890);
    box-shadow:0 16px 34px rgba(32,196,168,.22);
}
.fim-cookie-btn.soft{
    color:#0f766e;
    background:rgba(32,196,168,.12);
    border:1px solid rgba(32,196,168,.20);
}
.fim-cookie-btn.ghost{
    color:#64748b;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}
@media (max-width:560px){
    .fim-cookie-overlay{
        align-items:flex-end;
        padding:14px;
    }
    .fim-cookie-modal{
        border-radius:24px;
        padding:22px;
    }
    .fim-cookie-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .fim-cookie-btn{
        width:100%;
    }
}


/* Override final: remove destaque antigo dos profissionais */
.fim-prof-card.is-featured:before,
.fim-prof-card.is-featured::before,
.fim-prof-card.is-featured:after,
.fim-prof-card.is-featured::after{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
    background:none!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
    clip-path:none!important;
}


/* =========================================================
   PATCH V27 — Microinterações globais + ícones cromáticos
   Objectivo: dar mais vida ao frontend sem alterar estrutura/lógica.
========================================================= */
:root{
    --fim-tone-1:#20C4A8;
    --fim-tone-1-soft:rgba(32,196,168,.13);
    --fim-tone-2:#4a74e6;
    --fim-tone-2-soft:rgba(74,116,230,.13);
    --fim-tone-3:#f59e0b;
    --fim-tone-3-soft:rgba(245,158,11,.15);
    --fim-tone-4:#a855f7;
    --fim-tone-4-soft:rgba(168,85,247,.13);
    --fim-tone-5:#f43f5e;
    --fim-tone-5-soft:rgba(244,63,94,.12);
    --fim-tone-6:#06b6d4;
    --fim-tone-6-soft:rgba(6,182,212,.13);
}
@keyframes fimSoftFloatV27{
    0%,
100%{transform:translateY(0)}
    50%{transform:translateY(-4px)}
}
@keyframes fimIconBreathV27{
    0%,
100%{box-shadow:0 10px 22px rgba(15,23,42,.06);filter:saturate(1)}
    50%{box-shadow:0 14px 30px rgba(15,23,42,.11);filter:saturate(1.12)}
}
@keyframes fimSoftShineV27{
    0%{left:-130%}
    46%,
100%{left:132%}
}
.fim-premium-motion .fim-motion-reveal{
    opacity:0;
    transform:translateY(20px) scale(.985);
    transition:opacity .58s ease, transform .58s cubic-bezier(.2,.72,.2,1);
    transition-delay:var(--fim-motion-delay,0ms);
    will-change:opacity,transform;
}
.fim-premium-motion .fim-motion-reveal.is-visible{
    opacity:1;
    transform:translateY(0) scale(1);
}
:where(.fim-category-card,.fim-business-card,.fim-result-card,.fim-profile-card,.fim-hero-card,.fim-prof-card,.fim-review-item,.fim-home-entity-card-v18,.fim-home-pro-card-v18,.fim-home-promo-card-v18,.fim-home-campaign-card-v18,.fim-home-business-card-v18,.fim-home-faq-card-v18,.fim-mega-card,.fim-profession-chip){
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease, filter .25s ease;
}
:where(.fim-category-card,.fim-business-card,.fim-result-card,.fim-profile-card,.fim-hero-card,.fim-prof-card,.fim-review-item,.fim-home-entity-card-v18,.fim-home-pro-card-v18,.fim-home-promo-card-v18,.fim-home-campaign-card-v18,.fim-home-business-card-v18,.fim-home-faq-card-v18,.fim-mega-card,.fim-profession-chip):hover{
    transform:translateY(-4px);
    filter:saturate(1.03);
}
:where(.fim-btn,.fim-card-action,.fim-card-link,.fim-prof-actions a,.fim-footer-top-actions a,.fim-profession-chip){
    position:relative;
    overflow:hidden;
}
:where(.fim-btn,.fim-card-action,.fim-card-link,.fim-prof-actions a,.fim-footer-top-actions a)::before{
    content:"";
    position:absolute;
    top:-45%;
    left:-75%;
    width:42%;
    height:190%;
    transform:rotate(24deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);
    transition:left .58s ease;
    pointer-events:none;
}
:where(.fim-btn,.fim-card-action,.fim-card-link,.fim-prof-actions a,.fim-footer-top-actions a):hover::before{
    left:120%;
}
:where(.fim-category-icon,.fim-standard-lock-icon,.fim-footer-contact i,.fim-home-promo-card-v18>i,.fim-home-benefits-v18 article>i,.fim-home-how-v18 article>i,.fim-profile-side-grid article>i,.fim-entity-stats article>i,.fim-prof-scorebox em i,.fim-locked i,.fim-cookie-icon,.fim-mega-title>i,.fim-profession-chip>i){
    transition:transform .24s ease, color .24s ease, background .24s ease, box-shadow .24s ease;
}
:where(.fim-category-card,.fim-home-benefits-v18 article,.fim-home-how-v18 article,.fim-home-card-grid-v18>*,.fim-profile-side-grid article,.fim-entity-stats article,.fim-footer-contact li,.fim-mega-card,.fim-profession-chip):nth-child(6n/**/+1){--fim-icon-accent:var(--fim-tone-1);--fim-icon-accent-soft:var(--fim-tone-1-soft)}
:where(.fim-category-card,.fim-home-benefits-v18 article,.fim-home-how-v18 article,.fim-home-card-grid-v18>*,.fim-profile-side-grid article,.fim-entity-stats article,.fim-footer-contact li,.fim-mega-card,.fim-profession-chip):nth-child(6n/**/+2){--fim-icon-accent:var(--fim-tone-2);--fim-icon-accent-soft:var(--fim-tone-2-soft)}
:where(.fim-category-card,.fim-home-benefits-v18 article,.fim-home-how-v18 article,.fim-home-card-grid-v18>*,.fim-profile-side-grid article,.fim-entity-stats article,.fim-footer-contact li,.fim-mega-card,.fim-profession-chip):nth-child(6n/**/+3){--fim-icon-accent:var(--fim-tone-3);--fim-icon-accent-soft:var(--fim-tone-3-soft)}
:where(.fim-category-card,.fim-home-benefits-v18 article,.fim-home-how-v18 article,.fim-home-card-grid-v18>*,.fim-profile-side-grid article,.fim-entity-stats article,.fim-footer-contact li,.fim-mega-card,.fim-profession-chip):nth-child(6n/**/+4){--fim-icon-accent:var(--fim-tone-4);--fim-icon-accent-soft:var(--fim-tone-4-soft)}
:where(.fim-category-card,.fim-home-benefits-v18 article,.fim-home-how-v18 article,.fim-home-card-grid-v18>*,.fim-profile-side-grid article,.fim-entity-stats article,.fim-footer-contact li,.fim-mega-card,.fim-profession-chip):nth-child(6n/**/+5){--fim-icon-accent:var(--fim-tone-5);--fim-icon-accent-soft:var(--fim-tone-5-soft)}
:where(.fim-category-card,.fim-home-benefits-v18 article,.fim-home-how-v18 article,.fim-home-card-grid-v18>*,.fim-profile-side-grid article,.fim-entity-stats article,.fim-footer-contact li,.fim-mega-card,.fim-profession-chip):nth-child(6n/**/+6){--fim-icon-accent:var(--fim-tone-6);--fim-icon-accent-soft:var(--fim-tone-6-soft)}
:where(.fim-category-card,.fim-home-benefits-v18 article,.fim-home-how-v18 article,.fim-profile-side-grid article,.fim-entity-stats article,.fim-mega-card,.fim-profession-chip) :where(.fim-category-icon,article>i,.fim-mega-title>i,.fim-profession-chip>i,i:first-child){
    color:var(--fim-icon-accent,var(--fim-tone-1));
}
.fim-footer-premium-v22 .fim-footer-contact li i{
    color:var(--fim-icon-accent,var(--fim-tone-1))!important;
    background:var(--fim-icon-accent-soft,var(--fim-tone-1-soft))!important;
}
.fim-category-card:nth-child(6n/**/+1) .fim-category-icon{background:var(--fim-tone-1-soft);color:var(--fim-tone-1)}
.fim-category-card:nth-child(6n/**/+2) .fim-category-icon{background:var(--fim-tone-2-soft);color:var(--fim-tone-2)}
.fim-category-card:nth-child(6n/**/+3) .fim-category-icon{background:var(--fim-tone-3-soft);color:var(--fim-tone-3)}
.fim-category-card:nth-child(6n/**/+4) .fim-category-icon{background:var(--fim-tone-4-soft);color:var(--fim-tone-4)}
.fim-category-card:nth-child(6n/**/+5) .fim-category-icon{background:var(--fim-tone-5-soft);color:var(--fim-tone-5)}
.fim-category-card:nth-child(6n/**/+6) .fim-category-icon{background:var(--fim-tone-6-soft);color:var(--fim-tone-6)}
:where(.fim-category-card,.fim-home-benefits-v18 article,.fim-home-how-v18 article,.fim-profile-side-grid article,.fim-entity-stats article,.fim-mega-card,.fim-profession-chip):hover :where(.fim-category-icon,article>i,.fim-mega-title>i,.fim-profession-chip>i,i:first-child){
    transform:translateY(-2px) scale(1.04);
}
.fim-home-promo-card-v18:nth-child(6n/**/+1)>i{color:var(--fim-tone-1)}
.fim-home-promo-card-v18:nth-child(6n/**/+2)>i{color:var(--fim-tone-2)}
.fim-home-promo-card-v18:nth-child(6n/**/+3)>i{color:var(--fim-tone-3)}
.fim-home-promo-card-v18:nth-child(6n/**/+4)>i{color:var(--fim-tone-4)}
.fim-home-promo-card-v18:nth-child(6n/**/+5)>i{color:var(--fim-tone-5)}
.fim-home-promo-card-v18:nth-child(6n/**/+6)>i{color:var(--fim-tone-6)}
.fim-home-promo-card-v18:hover>i{animation:fimSoftFloatV27 1.8s ease-in-out infinite}
.fim-topbar-left span:nth-child(1) i{color:var(--fim-tone-1)!important}
.fim-topbar-left span:nth-child(2) i{color:var(--fim-tone-3)!important}
.fim-topbar-left span:nth-child(3) i{color:var(--fim-tone-2)!important}
.fim-footer-social a:nth-child(1):hover i,
.fim-topbar-right a:nth-of-type(1):hover i{color:#4a74e6!important}
.fim-footer-social a:nth-child(2):hover i,
.fim-topbar-right a:nth-of-type(2):hover i{color:#f43f5e!important}
.fim-footer-social a:nth-child(3):hover i,
.fim-topbar-right a:nth-of-type(3):hover i{color:#0ea5e9!important}
.fim-footer-social a:nth-child(4):hover i{color:#22c55e!important}
.fim-premium-motion .fim-icon-tone-1{color:var(--fim-tone-1)!important}
.fim-premium-motion .fim-icon-tone-2{color:var(--fim-tone-2)!important}
.fim-premium-motion .fim-icon-tone-3{color:var(--fim-tone-3)!important}
.fim-premium-motion .fim-icon-tone-4{color: #ffffff !important;}
.fim-premium-motion .fim-icon-tone-5{color:var(--fim-tone-5)!important}
.fim-premium-motion .fim-icon-tone-6{color:var(--fim-tone-6)!important}
.fim-premium-motion .fim-icon-bubble{
    width:38px;
    height:38px;
    min-width:38px;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:14px;
    background:var(--fim-icon-bubble-bg,rgba(32,196,168,.12));
    box-shadow:0 10px 22px rgba(15,23,42,.06);
}
.fim-premium-motion .fim-icon-tone-1.fim-icon-bubble{--fim-icon-bubble-bg:var(--fim-tone-1-soft)}
.fim-premium-motion .fim-icon-tone-2.fim-icon-bubble{--fim-icon-bubble-bg:var(--fim-tone-2-soft)}
.fim-premium-motion .fim-icon-tone-3.fim-icon-bubble{--fim-icon-bubble-bg:var(--fim-tone-3-soft)}
.fim-premium-motion .fim-icon-tone-4.fim-icon-bubble{--fim-icon-bubble-bg:var(--fim-tone-4-soft)}
.fim-premium-motion .fim-icon-tone-5.fim-icon-bubble{--fim-icon-bubble-bg:var(--fim-tone-5-soft)}
.fim-premium-motion .fim-icon-tone-6.fim-icon-bubble{--fim-icon-bubble-bg:var(--fim-tone-6-soft)}
.fim-premium-motion .fim-icon-bubble:hover{animation:fimIconBreathV27 1.8s ease-in-out infinite}
:where(.fim-card-link,.fim-btn-primary,.fim-card-primary,.fim-card-wa,.fim-prof-actions .is-primary,.fim-footer-top-actions a.primary){
    box-shadow:0 14px 30px rgba(32,196,168,.16);
}
:where(.fim-card-link,.fim-btn-primary,.fim-card-primary,.fim-card-wa,.fim-prof-actions .is-primary,.fim-footer-top-actions a.primary):hover{
    box-shadow:0 18px 38px rgba(32,196,168,.24);
}
@media (max-width:760px){
    .fim-premium-motion .fim-motion-reveal{
        transform:translateY(12px) scale(.992);
        transition-duration:.42s;
    }
    :where(.fim-category-card,.fim-business-card,.fim-result-card,.fim-profile-card,.fim-hero-card,.fim-prof-card,.fim-review-item,.fim-home-entity-card-v18,.fim-home-pro-card-v18,.fim-home-promo-card-v18,.fim-home-campaign-card-v18,.fim-home-business-card-v18,.fim-home-faq-card-v18,.fim-mega-card,.fim-profession-chip):hover{
        transform:none;
    }
}
@media (prefers-reduced-motion:reduce){
    .fim-premium-motion .fim-motion-reveal,
:where(.fim-category-card,.fim-business-card,.fim-result-card,.fim-profile-card,.fim-hero-card,.fim-prof-card,.fim-review-item,.fim-home-entity-card-v18,.fim-home-pro-card-v18,.fim-home-promo-card-v18,.fim-home-campaign-card-v18,.fim-home-business-card-v18,.fim-home-faq-card-v18,.fim-mega-card,.fim-profession-chip),
:where(.fim-category-icon,.fim-standard-lock-icon,.fim-footer-contact i,.fim-home-promo-card-v18>i,.fim-home-benefits-v18 article>i,.fim-home-how-v18 article>i,.fim-profile-side-grid article>i,.fim-entity-stats article>i,.fim-prof-scorebox em i,.fim-locked i,.fim-cookie-icon,.fim-mega-title>i,.fim-profession-chip>i){
        animation:none!important;
        transition:none!important;
        transform:none!important;
        opacity:1!important;
    }
}

/* FindInMoz notifications bell v161 */
.fim-notif{position:relative;display:inline-flex;align-items:center;z-index:80}
.fim-notif-btn{width:42px;height:42px;border-radius:14px;border:1px solid rgba(135,87,233,.18);background:linear-gradient(180deg,#fff,#f8fafc);color:#4a5568;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.07);position:relative;transition:transform .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease}
.fim-notif-btn:hover,
.fim-notif.is-open .fim-notif-btn{transform:translateY(-1px);color:#4a74e6;border-color:rgba(135,87,233,.34);box-shadow:0 18px 36px rgba(15,23,42,.10)}
.fim-notif-badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 8px 18px rgba(239,68,68,.28)}
.fim-notif-menu{position:absolute;top:calc(100% + 12px);right:0;width:min(360px,calc(100vw - 26px));background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid rgba(226,232,240,.92);border-radius:22px;box-shadow:0 26px 70px rgba(15,23,42,.16);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transition:.18s ease;z-index:5500}
.fim-notif.is-open .fim-notif-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.fim-notif-menu-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 10px 12px;border-bottom:1px solid #edf1f7;margin-bottom:6px}
.fim-notif-menu-head strong{font-size:14px;color:#152033;font-weight:900}.fim-notif-menu-head small{font-size:11px;color:#7b8495;font-weight:800;background:#f6f7fb;border-radius:999px;padding:5px 8px}
.fim-notif-item{display:grid;grid-template-columns:10px 1fr;gap:10px;text-decoration:none;padding:11px 10px;border-radius:16px;color:#253044;transition:background .18s ease,transform .18s ease}
.fim-notif-item:hover{background:#f7f8ff;transform:translateX(2px);text-decoration:none;color:#111827}.fim-notif-item strong{display:block;font-size:13px;font-weight:900;line-height:1.25}.fim-notif-item small{display:block;margin-top:3px;font-size:11.5px;line-height:1.35;color:#6b7280}.fim-notif-dot{width:8px;height:8px;border-radius:999px;background:#cbd5e1;margin-top:4px}.fim-notif-item.is-unread{background:linear-gradient(135deg,rgba(135,87,233,.08),rgba(74,116,230,.06))}.fim-notif-item.is-unread .fim-notif-dot{background:linear-gradient(135deg,#8757e9,#4a74e6);box-shadow:0 0 0 4px rgba(135,87,233,.10)}
.fim-notif-empty{display:flex;align-items:center;gap:10px;padding:18px 12px;color:#7b8495;font-size:13px}.fim-notif-footer{height:38px;margin-top:6px;border-radius:14px;background:#f8fafc;color:#4a74e6;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:900;font-size:12px}.fim-notif-footer:hover{background:#eef2ff;text-decoration:none;color:#8757e9}
@media (max-width:900px){.fim-actions .fim-notif{display:inline-flex}.fim-notif-menu{right:-72px}}

/* =========================================================
   FindInMoz — header menu icons v170
   Objectivo: ícones consistentes no menu principal e mobile.
   ========================================================= */
.fim-header-premium-2026 .fim-nav-premium .fim-nav-item-icon{
    font-size:12.5px!important;
    color:#20C4A8!important;
    opacity:.98!important;
    transform:translateY(.2px);
}
.fim-header-premium-2026 .fim-nav-premium a:hover .fim-nav-item-icon,
.fim-header-premium-2026 .fim-nav-premium a.is-active .fim-nav-item-icon{
    color:#17a890!important;
}
.fim-header-premium-2026 .fim-nav-premium .fim-nav-chevron{
    font-size:10px!important;
    opacity:.55!important;
    margin-left:1px!important;
}

/* =========================================================
   FindInMoz — loader global de processamento
   ========================================================= */
.fim-process-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(3,17,29,.54);
  backdrop-filter:blur(9px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,visibility .2s ease;
}
.fim-process-loader.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.fim-process-loader-card{
  width:min(410px,100%);
  border-radius:24px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(145deg,rgba(6,26,43,.96),rgba(7,54,61,.94));
  box-shadow:0 30px 90px rgba(0,0,0,.30);
  color:#fff;
  padding:27px 28px 24px;
  text-align:center;
  overflow:hidden;
}
.fim-process-loader-spinner{
  width:50px;
  height:50px;
  margin:0 auto 15px;
  border-radius:999px;
  border:4px solid rgba(32,196,168,.17);
  border-top-color:#20c4a8;
  border-right-color:#17a890;
  animation:fimProcessSpin .76s linear infinite;
}
.fim-process-loader-card strong{
  display:block;
  margin-bottom:7px;
  font-size:16.5px;
  font-weight:800;
  letter-spacing:-.02em;
}
.fim-process-loader-card span{
  display:block;
  color:rgba(255,255,255,.74);
  font-size:13.25px;
  line-height:1.5;
}
.fim-process-loader-progress{
  position:relative;
  height:3px;
  margin-top:18px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.10);
}
.fim-process-loader-progress i{
  position:absolute;
  inset:0 auto 0 -38%;
  width:38%;
  border-radius:inherit;
  background:linear-gradient(90deg,transparent,#20c4a8,#75ead6,transparent);
  animation:fimProcessProgress 1.35s ease-in-out infinite;
}
html.fim-is-processing{cursor:progress}
form.is-processing{position:relative}
@keyframes fimProcessSpin{to{transform:rotate(360deg)}}
@keyframes fimProcessProgress{0%{left:-38%}100%{left:100%}}
@media(max-width:560px){
  .fim-process-loader{padding:18px}
  .fim-process-loader-card{border-radius:22px;padding:24px 22px 21px}
}


/* FindInMoz — estrelas da avaliação junto ao nível das entidades */
.fim-rank-badge small{
    display:inline-flex;
    align-items:center;
    gap:5px;
}
.fim-rank-badge small > span{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
}
.fim-rank-rating-stars{
    display:inline-flex!important;
    align-items:center!important;
    gap:1px!important;
    margin-left:1px!important;
    color:#facc14!important;
    line-height:1!important;
    white-space:nowrap!important;
}
.fim-rank-rating-stars i{
    color:#facc14!important;
    font-size:9px!important;
    line-height:1!important;
}
.fim-rank-badge.lg .fim-rank-rating-stars i{
    font-size:10px!important;
}



/* FindInMoz — estrelas de avaliação apenas no card lateral da entidade */
.fim-rank-rating-stars{
    display:inline-flex!important;
    align-items:center!important;
    gap:1px!important;
    margin-left:5px!important;
    color:#facc14!important;
    line-height:1!important;
    white-space:nowrap!important;
}
.fim-rank-rating-stars i{
    color:#facc14!important;
    font-size:10px!important;
    line-height:1!important;
}




/* FindInMoz v7.50.8.7 — componente global: perfil verificado junto ao nome */
.fim-name-verified-icon{
    width:16px;
    height:16px;
    min-width:16px;
    flex:0 0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-left:7px;
    vertical-align:middle;
    line-height:1;
    transform:translateY(-1px);
}
.fim-name-verified-icon svg{
    width:16px;
    height:16px;
    max-width:16px;
    max-height:16px;
    display:block;
    overflow:visible;
    flex:0 0 16px;
    filter:drop-shadow(0 2px 5px rgba(15,118,110,.16));
}



/* v7.50.8.8 — estado público canónico para perfil/link indisponível */
.fim-unavailable-page{--fu-ink:#102033;--fu-muted:#64748b;--fu-line:rgba(218,230,236,.92);--fu-brand:#20c4a8;--fu-brand2:#13a991;background:linear-gradient(180deg,#f7fbfc 0%,#fff 62%,#f8fafc 100%);color:var(--fu-ink);overflow:hidden}
.fim-unavailable-page *{box-sizing:border-box}
.fim-unavailable-hero{position:relative;padding:42px 0 52px;color:#fff;background:radial-gradient(circle at 86% 10%,rgba(32,196,168,.26),transparent 31%),linear-gradient(125deg,#061a2b 0%,#08334a 58%,#087568 100%);overflow:hidden}
.fim-unavailable-hero::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-120px;bottom:-220px;background:rgba(255,255,255,.055);pointer-events:none}
.fim-unavailable-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:34px;align-items:center}
.fim-unavailable-copy{min-width:0}.fim-unavailable-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.075);font-size:12px;font-weight:760;color:#d9fff8}
.fim-unavailable-copy h1{max-width:820px;margin:16px 0 12px;color:#fff;font-size:clamp(26px,3.2vw,42px);line-height:1.05;font-weight:750;letter-spacing:-.035em}.fim-unavailable-copy>p{max-width:720px;margin:0;color:rgba(236,255,252,.78);font-size:14px;line-height:1.65}
.fim-unavailable-reference{display:inline-flex;max-width:100%;align-items:center;gap:8px;margin-top:14px;padding:8px 11px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.065);color:rgba(255,255,255,.76);font-size:12px}.fim-unavailable-reference span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(560px,70vw)}
.fim-unavailable-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:20px}.fim-unavailable-actions .fim-btn{min-height:40px;border-radius:999px;padding:0 15px}.fim-unavailable-actions .fim-btn-primary{background:linear-gradient(135deg,var(--fu-brand),var(--fu-brand2));border:0;color:#06342d}.fim-unavailable-actions .fim-btn-soft{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.075);color:#fff}
.fim-unavailable-visual{position:relative;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055));box-shadow:0 24px 58px rgba(0,0,0,.18);overflow:hidden}.fim-unavailable-orbit{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:rgba(32,196,168,.17);border:1px solid rgba(126,247,224,.23);color:#8cf7e2;font-size:28px;box-shadow:0 14px 34px rgba(0,0,0,.16)}.fim-unavailable-visual strong{margin-top:16px;font-size:24px;line-height:1;color:#fff;font-weight:800}.fim-unavailable-visual>span{margin-top:7px;font-size:12px;color:rgba(255,255,255,.68)}
.fim-unavailable-body{padding:0 0 64px}.fim-unavailable-search{position:relative;z-index:2;margin-top:-25px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px;border:1px solid var(--fu-line);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 18px 50px rgba(15,33,53,.09)}.fim-unavailable-search label{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid #e4edf2;border-radius:999px;background:#f8fafc;color:#718096}.fim-unavailable-search input{width:100%;border:0;outline:0;background:transparent;color:var(--fu-ink);font:inherit;font-weight:650}.fim-unavailable-search button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--fu-brand),var(--fu-brand2));color:#05362f;font-weight:800;cursor:pointer}
.fim-unavailable-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:34px 0 17px}.fim-unavailable-section-head span{display:inline-flex;align-items:center;gap:7px;color:#0f766e;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.fim-unavailable-section-head h2{margin:7px 0 0;font-size:22px;line-height:1.12;font-weight:650;letter-spacing:-.025em}.fim-unavailable-section-head p{max-width:450px;margin:0;color:var(--fu-muted);font-size:13px;line-height:1.55;text-align:right}
.fim-unavailable-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fim-unavailable-link-card{position:relative;min-height:178px;padding:18px;border:1px solid var(--fu-line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(15,33,53,.055);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.fim-unavailable-link-card:hover{transform:translateY(-3px);border-color:rgba(32,196,168,.35);box-shadow:0 20px 46px rgba(15,33,53,.09)}.fim-unavailable-link-card>i{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:#e9faf6;color:#0e8374;font-size:16px}.fim-unavailable-link-card strong{display:block;margin-top:13px;color:var(--fu-ink);font-size:15px;font-weight:760}.fim-unavailable-link-card p{margin:7px 0 20px;color:var(--fu-muted);font-size:12.5px;line-height:1.5}.fim-unavailable-link-card>span{position:absolute;right:18px;bottom:15px;display:inline-flex;align-items:center;gap:7px;color:#0f766e;font-size:12px;font-weight:760}
.fim-unavailable-help{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;border:1px solid var(--fu-line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(15,33,53,.045)}.fim-unavailable-help>div{display:flex;align-items:flex-start;gap:12px}.fim-unavailable-help>div>i{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:#eff8f7;color:#0f766e}.fim-unavailable-help strong{display:block;font-size:14px}.fim-unavailable-help p{margin:4px 0 0;color:var(--fu-muted);font-size:12.5px;line-height:1.5}.fim-unavailable-help>a{margin-left:auto;white-space:nowrap}
@media (max-width:980px){.fim-unavailable-hero-grid{grid-template-columns:1fr}.fim-unavailable-visual{max-width:360px;width:100%;min-height:170px}.fim-unavailable-links{grid-template-columns:repeat(2,minmax(0,1fr))}.fim-unavailable-section-head{display:block}.fim-unavailable-section-head p{max-width:none;margin-top:8px;text-align:left}}
@media (max-width:640px){.fim-unavailable-hero{padding:32px 0 46px}.fim-unavailable-copy h1{font-size:26px}.fim-unavailable-actions{justify-content:flex-end}.fim-unavailable-actions .fim-btn{width:100%}.fim-unavailable-search{grid-template-columns:1fr;border-radius:20px}.fim-unavailable-search button{width:100%}.fim-unavailable-links{grid-template-columns:1fr}.fim-unavailable-help{display:block}.fim-unavailable-help>a{width:100%;margin:13px 0 0;justify-content:center}.fim-unavailable-reference span{max-width:75vw}}
