/* PATCH-030 — HOTFIX ícones contatos parceiros */
/* Este arquivo é carregado explicitamente nas páginas de parceiros para evitar
   sobrescrita por CSS global do site. */

.partner-contact-stack{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    margin-top:18px !important;
}

.partner-contact-row{
    position:relative !important;
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 22px !important;
    align-items:center !important;
    gap:12px !important;
    min-height:60px !important;
    padding:11px 13px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:12px !important;
    background:#151515 !important;
    color:#f5f5f5 !important;
    text-decoration:none !important;
    overflow:hidden !important;
    box-shadow:0 8px 18px rgba(0,0,0,.18) !important;
    transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease !important;
}

.partner-contact-stack--large .partner-contact-row{
    grid-template-columns:48px minmax(0,1fr) 24px !important;
    min-height:72px !important;
    padding:14px 16px !important;
    border-radius:14px !important;
}

.partner-contact-row:hover{
    transform:translateY(-2px) !important;
    border-color:rgba(255,104,23,.70) !important;
    background:#1a1715 !important;
    box-shadow:0 14px 28px rgba(0,0,0,.26) !important;
}

.partner-contact-row:active{
    transform:translateY(0) scale(.995) !important;
    filter:brightness(1.08) !important;
}

.partner-contact-row:focus-visible{
    outline:3px solid rgba(255,104,23,.32) !important;
    outline-offset:2px !important;
}

/* ÍCONE — força formato circular/regular e neutraliza CSS global */
.partner-contact-badge{
    box-sizing:border-box !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    border:1px solid rgba(255,104,23,.36) !important;
    background:rgba(255,104,23,.10) !important;
    color:#ff8a46 !important;
    line-height:1 !important;
    overflow:hidden !important;
    flex:none !important;
}

.partner-contact-stack--large .partner-contact-badge{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
}

/* SVG — força tamanho e preenchimento, impedindo que regras globais deformem o ícone */
.partner-contact-badge svg{
    display:block !important;
    width:19px !important;
    height:19px !important;
    min-width:19px !important;
    min-height:19px !important;
    max-width:19px !important;
    max-height:19px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    fill:currentColor !important;
    stroke:none !important;
    opacity:1 !important;
    transform:none !important;
}

.partner-contact-stack--large .partner-contact-badge svg{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;
    max-width:22px !important;
    max-height:22px !important;
}

/* Variações dos canais */
.partner-contact-row--whatsapp{
    border-left:3px solid #39c86d !important;
}
.partner-contact-row--whatsapp .partner-contact-badge{
    color:#68dc92 !important;
    border-color:rgba(57,200,109,.42) !important;
    background:rgba(57,200,109,.10) !important;
}
.partner-contact-row--whatsapp:hover{
    border-color:rgba(57,200,109,.62) !important;
    background:#141915 !important;
}

.partner-contact-row--phone{
    border-left:3px solid #ff7a26 !important;
}
.partner-contact-row--phone .partner-contact-badge{
    color:#ff9a5a !important;
}

.partner-contact-row--email{
    border-left:3px solid #e0a24f !important;
}
.partner-contact-row--email .partner-contact-badge{
    color:#f0ba75 !important;
    border-color:rgba(224,162,79,.38) !important;
    background:rgba(224,162,79,.09) !important;
}

.partner-contact-row--instagram{
    border-left:3px solid #d95caf !important;
}
.partner-contact-row--instagram .partner-contact-badge{
    color:#ed91cd !important;
    border-color:rgba(217,92,175,.40) !important;
    background:rgba(217,92,175,.09) !important;
}
.partner-contact-row--instagram:hover{
    border-color:rgba(217,92,175,.62) !important;
    background:#191419 !important;
}

.partner-contact-row--website{
    border-left:3px solid #d9893d !important;
}

/* Textos */
.partner-contact-text{
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
}

.partner-contact-text strong{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:900 !important;
    line-height:1.1 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
}

.partner-contact-text small{
    display:block !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#aaa !important;
    font-size:12px !important;
    line-height:1.35 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
}

.partner-contact-stack--large .partner-contact-text strong{
    font-size:12px !important;
}

.partner-contact-stack--large .partner-contact-text small{
    color:#bbb !important;
    font-size:14px !important;
}

.partner-contact-arrow{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:20px !important;
    height:20px !important;
    color:#777 !important;
    font-size:25px !important;
    line-height:1 !important;
    transition:transform .16s ease,color .16s ease !important;
}

.partner-contact-row:hover .partner-contact-arrow{
    transform:translateX(2px) !important;
    color:#ff8a46 !important;
}

@media(max-width:700px){
    .partner-contact-row,
    .partner-contact-stack--large .partner-contact-row{
        grid-template-columns:40px minmax(0,1fr) 18px !important;
        min-height:60px !important;
        padding:11px 12px !important;
        border-radius:11px !important;
    }

    .partner-contact-badge,
    .partner-contact-stack--large .partner-contact-badge{
        width:36px !important;
        height:36px !important;
        min-width:36px !important;
        min-height:36px !important;
    }

    .partner-contact-badge svg,
    .partner-contact-stack--large .partner-contact-badge svg{
        width:18px !important;
        height:18px !important;
        min-width:18px !important;
        min-height:18px !important;
        max-width:18px !important;
        max-height:18px !important;
    }
}
