:root{--blue:#3497c8;--green:#087f5e;--red:#cb3639;--orange:#ffae38;--dark:#242021;--muted:#696567;--soft:#f5f8fa;--shadow:0 16px 45px rgba(36,32,33,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--dark);line-height:1.6}.container{width:min(1180px,calc(100% - 32px));margin:auto}.narrow{width:min(780px,calc(100% - 32px))}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eee}.nav-wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between}.brand img{width:190px;display:block}.main-nav{display:flex;align-items:center;gap:20px}.main-nav>a,.dropdown>button{color:var(--dark);text-decoration:none;font-weight:750;font-size:.93rem;background:none;border:0;cursor:pointer}.nav-portal{background:linear-gradient(135deg,var(--red),var(--orange));color:#fff!important;padding:11px 16px;border-radius:11px}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:var(--shadow);border-radius:12px;padding:10px;min-width:180px}.dropdown:hover .dropdown-menu{display:grid}.dropdown-menu a{padding:8px;color:var(--dark);text-decoration:none}.menu-btn{display:none;border:0;background:none;font-size:1.8rem}.hero{padding:90px 0;background:radial-gradient(circle at 90% 15%,rgba(52,151,200,.16),transparent 28%),radial-gradient(circle at 8% 90%,rgba(255,174,56,.15),transparent 27%),linear-gradient(135deg,#fff,#f7fafc)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:900;color:var(--blue)}.eyebrow.light{color:#fff}h1,h2,h3{line-height:1.15}h1{font-size:clamp(2.5rem,5vw,4.6rem);margin:.25em 0}.hero p,.page-hero p{font-size:1.14rem;color:var(--muted);max-width:750px}.hero-actions{display:flex;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:0;border-radius:12px;text-decoration:none;font-weight:850;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--blue),#3aa6d7);color:#fff}.btn-light,.btn-white{background:#fff;color:var(--dark);box-shadow:var(--shadow)}.hero-panel{background:#fff;border-radius:24px;padding:22px;box-shadow:var(--shadow);display:grid;gap:12px}.metric{padding:20px;border-radius:16px;background:var(--soft);border-left:5px solid var(--blue)}.metric:nth-child(2){border-color:var(--green)}.metric:nth-child(3){border-color:var(--orange)}.metric strong{display:block;font-size:1.25rem}.metric span{color:var(--muted)}.section{padding:76px 0}.section-soft{background:var(--soft)}.center{text-align:center}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section-head h2,.center h2{font-size:clamp(2rem,3vw,3rem);margin:.3em 0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#fff;border:1px solid #e8ecef;border-radius:18px;padding:26px;box-shadow:var(--shadow)}.card-icon{font-size:2rem}.card p{color:var(--muted)}.featured-card{border:2px solid var(--orange)}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{background:var(--soft);border-radius:999px;padding:4px 9px;font-size:.78rem}.text-link{font-weight:850;color:var(--blue);text-decoration:none}.certificate,.support-cta{background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;padding:45px 0}.support-cta{background:linear-gradient(135deg,var(--green),#0aa078)}.certificate-inner,.split{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.certificate h2,.support-cta h2{font-size:clamp(2rem,3vw,3rem);margin:.25em 0}.page-hero{padding:70px 0;background:linear-gradient(135deg,#f7fafc,#fff8ed)}.page-hero h1{font-size:clamp(2.3rem,4vw,4rem)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.values>div{padding:30px;border-radius:18px;background:var(--soft)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.video-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.video-frame{aspect-ratio:16/9}.video-frame iframe{width:100%;height:100%;border:0}.video-body{padding:20px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{border:0;background:#fff;padding:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;text-align:left}.gallery-item img{width:100%;height:220px;object-fit:cover;display:block}.gallery-item span{display:grid;padding:16px}.gallery-item small{color:var(--muted)}dialog{border:0;border-radius:18px;max-width:min(980px,94vw);padding:18px}dialog img{max-width:100%;max-height:75vh}.close-lightbox{float:right;border:0;background:none;font-size:2rem}.support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.support-card{padding:28px;background:#fff;border-radius:18px;box-shadow:var(--shadow);text-decoration:none;color:var(--dark)}.support-card span{font-size:2rem}.support-note{margin-top:35px;background:var(--soft);padding:28px;border-radius:18px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}.contact-box,.contact-form{background:#fff;border-radius:18px;padding:28px;box-shadow:var(--shadow)}.contact-form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form label,.form-grid label{display:grid;gap:6px;font-weight:750}.contact-form input,.contact-form textarea,.form-grid input,.form-grid textarea,.form-grid select{padding:12px;border:1px solid #d7dde2;border-radius:10px;font:inherit;width:100%}.hp{position:absolute!important;left:-9999px!important}.download-list{display:grid;gap:15px}.download-card{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:#fff;border-radius:16px;padding:20px;box-shadow:var(--shadow)}.download-icon{font-size:2rem}.logo-carousel{overflow:hidden;margin-top:30px}.logo-track{display:flex;gap:26px;width:max-content;animation:scrolllogos 28s linear infinite}.client-logo{width:180px;height:95px;display:grid;place-items:center;background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:16px}.client-logo img{max-width:100%;max-height:100%;object-fit:contain}@keyframes scrolllogos{to{transform:translateX(-50%)}}.footer{background:#242021;color:#ddd;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer a{color:#fff}.footer-logo{width:190px;filter:brightness(0) invert(1)}.social-links{display:flex;gap:12px}.copyright{border-top:1px solid #444;margin-top:30px;padding-top:20px}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:40;background:var(--green);color:#fff;text-decoration:none;font-weight:850;padding:13px 17px;border-radius:999px;box-shadow:var(--shadow)}.alert,.success{padding:12px;border-radius:10px}.alert{background:#ffe8e8;color:#9b1c1c}.success{background:#e6f7ef;color:#086b4f}.empty{padding:28px;background:var(--soft);border-radius:15px}.article{font-size:1.08rem}
.admin-login{min-height:100vh;display:grid;place-items:center;background:var(--soft)}.login-card{width:min(420px,calc(100% - 32px));background:#fff;padding:35px;border-radius:20px;box-shadow:var(--shadow);display:grid;gap:15px}.login-card img{width:220px;margin:auto}.login-card label{display:grid;gap:6px}.login-card input{padding:12px;border:1px solid #ddd;border-radius:10px}.admin-body{background:#f4f6f8;min-height:100vh}.admin-side{position:fixed;inset:0 auto 0 0;width:250px;background:#242021;padding:22px;overflow:auto}.admin-side img{width:190px;filter:brightness(0) invert(1);margin-bottom:18px}.admin-side nav{display:grid;gap:4px}.admin-side a{color:#eee;text-decoration:none;padding:9px 11px;border-radius:8px}.admin-side a:hover{background:#3a3637}.admin-main{margin-left:250px;padding:28px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.admin-top h1{font-size:2rem;margin:0}.admin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.admin-stat,.admin-panel{background:#fff;border-radius:16px;padding:22px;box-shadow:0 8px 25px rgba(0,0,0,.07)}.admin-stat strong{font-size:2.4rem;display:block;color:var(--blue)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.form-grid .full{grid-column:1/-1}.form-grid button{width:max-content}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #eee}.inline{display:inline}.link-danger{border:0;background:none;color:#c62828;cursor:pointer;text-decoration:underline}
@media(max-width:1000px){.menu-btn{display:block}.main-nav{display:none;position:absolute;left:16px;right:16px;top:80px;background:#fff;padding:20px;border-radius:16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.dropdown-menu{position:static;box-shadow:none;display:grid;padding-left:15px}.hero-grid,.contact-grid{grid-template-columns:1fr}.cards,.video-grid,.gallery-grid{grid-template-columns:1fr 1fr}.support-grid{grid-template-columns:1fr 1fr}.admin-side{position:static;width:auto}.admin-main{margin-left:0}.admin-cards{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.brand img{width:155px}.nav-wrap{min-height:72px}.hero{padding:58px 0}.hero-actions,.certificate-inner,.split{grid-template-columns:1fr;display:grid}.cards,.video-grid,.gallery-grid,.values,.support-grid,.footer-grid,.admin-cards,.form-grid,.form-row{grid-template-columns:1fr}.download-card{grid-template-columns:auto 1fr}.download-card .btn{grid-column:1/-1}.section{padding:55px 0}.admin-main{padding:16px}}


/* ==========================================================
   TOUCH SITE V3.2 - LOGIN E PAINEL ADMINISTRATIVO CONSOLIDADOS
   ========================================================== */

.admin-login {
    min-height: 100vh;
    margin: 0;
    padding: 32px 16px;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 15% 15%, rgba(52,151,200,.12), transparent 28%),
        radial-gradient(circle at 85% 85%, rgba(255,174,56,.12), transparent 28%),
        #f4f7f9;
}

.login-shell {
    width: 100%;
    display: grid;
    place-items: center;
}

.admin-login .login-card {
    width: min(440px, 100%);
    margin: 0;
    padding: 34px;
    display: grid;
    gap: 17px;
    background: #fff;
    border: 1px solid rgba(36,32,33,.07);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(36,32,33,.14);
}

.admin-login .login-logo {
    width: min(230px, 76%);
    height: auto;
    max-height: 125px;
    object-fit: contain;
    display: block;
    margin: 0 auto 4px;
}

.admin-login .login-heading {
    text-align: center;
}

.admin-login .login-heading span {
    display: block;
    margin-bottom: 7px;
    color: var(--blue);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .14em;
}

.admin-login .login-heading h1 {
    margin: 0 !important;
    font-size: clamp(1.75rem, 5vw, 2.25rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em;
    color: var(--dark);
}

.admin-login .login-heading p {
    margin: 9px 0 0;
    color: var(--muted);
    font-size: .94rem;
}

.admin-login .login-card label {
    display: grid;
    gap: 7px;
    color: var(--dark);
    font-size: .93rem;
    font-weight: 750;
}

.admin-login .login-card input {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid #d9e0e5;
    border-radius: 12px;
    background: #fff;
    color: var(--dark);
    font: inherit;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.admin-login .login-card input:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(52,151,200,.13);
}

.admin-login .login-button {
    width: 100%;
    min-height: 49px;
    margin-top: 3px;
}

/* Painel */
.admin-body {
    min-height: 100vh;
    margin: 0;
    background: #f3f6f8;
    color: var(--dark);
}

.admin-side {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 80;
    width: 272px;
    padding: 22px 18px;
    overflow-y: auto;
    background:
        linear-gradient(180deg, rgba(255,255,255,.025), transparent 34%),
        #242021;
    box-shadow: 12px 0 35px rgba(36,32,33,.12);
}

.admin-brand {
    display: grid;
    justify-items: center;
    gap: 7px;
    padding: 4px 10px 22px;
    border-bottom: 1px solid rgba(255,255,255,.09);
    margin-bottom: 15px;
}

.admin-brand img {
    width: 188px !important;
    max-height: 92px;
    object-fit: contain;
    margin: 0 !important;
    filter: brightness(0) invert(1);
}

.admin-brand small {
    color: rgba(255,255,255,.52);
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.admin-side nav {
    display: grid;
    gap: 5px;
}

.admin-side nav a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 43px;
    padding: 9px 12px;
    border-radius: 11px;
    color: rgba(255,255,255,.78);
    text-decoration: none;
    font-size: .93rem;
    font-weight: 720;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.admin-side nav a:hover,
.admin-side nav a.active {
    color: #fff;
    background: linear-gradient(135deg, rgba(52,151,200,.82), rgba(52,151,200,.52));
    transform: translateX(2px);
}

.admin-nav-icon {
    width: 22px;
    text-align: center;
    font-size: 1rem;
}

.admin-nav-divider {
    height: 1px;
    margin: 10px 4px;
    background: rgba(255,255,255,.09);
}

.admin-main {
    min-height: 100vh;
    margin-left: 272px;
    padding: 30px;
}

.admin-top {
    min-height: 78px;
    margin-bottom: 24px;
    padding: 0 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.admin-top > div:first-child > small {
    display: block;
    margin-bottom: 4px;
    color: var(--blue);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .13em;
}

.admin-top h1 {
    margin: 0 !important;
    font-size: clamp(1.75rem, 3vw, 2.3rem) !important;
    line-height: 1.1 !important;
}

.admin-user {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #e8edef;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(36,32,33,.06);
}

.admin-user div {
    display: grid;
}

.admin-user strong {
    font-size: .9rem;
}

.admin-user small {
    color: var(--muted);
    font-size: .74rem;
}

.admin-avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--blue), #52b2de);
    color: #fff;
    font-weight: 900;
}

.admin-panel,
.admin-stat {
    border: 1px solid #e8edef;
    box-shadow: 0 10px 32px rgba(36,32,33,.065);
}

.admin-stat {
    position: relative;
    overflow: hidden;
}

.admin-stat::after {
    content: "";
    position: absolute;
    right: -24px;
    top: -24px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(52,151,200,.08);
}

.admin-stat strong {
    position: relative;
    z-index: 1;
}

.admin-panel input,
.admin-panel textarea,
.admin-panel select {
    transition: border-color .2s ease, box-shadow .2s ease;
}

.admin-panel input:focus,
.admin-panel textarea:focus,
.admin-panel select:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(52,151,200,.12);
}

.admin-menu-button {
    display: none;
    position: fixed;
    top: 14px;
    left: 14px;
    z-index: 95;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 12px;
    background: #242021;
    color: #fff;
    font-size: 1.35rem;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    cursor: pointer;
}

/* Redes sociais com tamanho seguro */
.social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.social-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-weight: 750;
    transition: transform .2s ease, background .2s ease;
}

.social-link:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.1);
}

.social-link svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    fill: currentColor;
}

@media (max-width: 1000px) {
    .admin-menu-button {
        display: grid;
        place-items: center;
    }

    .admin-side {
        transform: translateX(-105%);
        transition: transform .25s ease;
    }

    .admin-side.open {
        transform: translateX(0);
    }

    .admin-main {
        margin-left: 0;
        padding: 78px 20px 24px;
    }

    .admin-top {
        align-items: flex-start;
    }
}

@media (max-width: 650px) {
    .admin-login {
        padding: 18px 12px;
    }

    .admin-login .login-card {
        padding: 27px 21px;
        border-radius: 20px;
    }

    .admin-top {
        display: grid;
    }

    .admin-user {
        width: 100%;
    }

    .admin-main {
        padding-left: 14px;
        padding-right: 14px;
    }
}


/* ==========================================================
   TOUCH SITE V3.3 - SELETOR PROFISSIONAL DE ÍCONES
   ========================================================== */
.icon-picker-field {
    display: grid;
    gap: 6px;
}

.field-label {
    font-weight: 750;
}

.icon-picker-trigger {
    width: 100%;
    min-height: 72px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 13px;
    border: 1px solid #d7dde2;
    border-radius: 12px;
    background: #fff;
    color: var(--dark);
    text-align: left;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.icon-picker-trigger:hover,
.icon-picker-trigger:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(52,151,200,.12);
}

.icon-picker-trigger > span:last-child {
    display: grid;
}

.icon-picker-trigger small {
    color: var(--muted);
}

.selected-icon-preview {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    border-radius: 13px;
    background: rgba(52,151,200,.11);
    color: var(--blue);
}

.picker-svg,
.picker-grid-svg,
.table-service-svg,
.service-svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.picker-svg {
    width: 28px;
    height: 28px;
}

.icon-picker-modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: none;
    place-items: center;
    padding: 20px;
}

.icon-picker-modal.open {
    display: grid;
}

.icon-picker-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(18,22,27,.68);
    backdrop-filter: blur(5px);
}

.icon-picker-dialog {
    position: relative;
    z-index: 1;
    width: min(820px, 100%);
    max-height: min(760px, calc(100vh - 40px));
    overflow: auto;
    padding: 25px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 26px 90px rgba(0,0,0,.28);
}

.icon-picker-dialog header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.icon-picker-dialog h2 {
    margin: 3px 0 0;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.icon-picker-close {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #eef2f4;
    color: var(--dark);
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
}

.icon-picker-search {
    width: 100%;
    min-height: 48px;
    margin-bottom: 18px;
    padding: 11px 14px;
    border: 1px solid #d7dde2;
    border-radius: 12px;
    font: inherit;
}

.icon-picker-search:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(52,151,200,.12);
}

.icon-picker-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
}

.icon-option {
    min-height: 112px;
    padding: 15px 10px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 9px;
    border: 1px solid #e1e7ea;
    border-radius: 15px;
    background: #fff;
    color: var(--dark);
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.icon-option:hover {
    transform: translateY(-2px);
    border-color: var(--blue);
    background: rgba(52,151,200,.05);
}

.icon-option.selected {
    border: 2px solid var(--blue);
    background: rgba(52,151,200,.1);
    color: #176d99;
}

.picker-grid-svg {
    width: 34px;
    height: 34px;
    color: var(--blue);
}

.service-table-icon {
    width: 58px;
}

.table-service-svg {
    width: 27px;
    height: 27px;
    color: var(--blue);
}

.admin-check {
    display: flex !important;
    grid-template-columns: auto 1fr;
    align-items: center;
    align-self: center;
    gap: 9px !important;
}

.admin-check input {
    width: 20px !important;
    height: 20px;
}

body.modal-open {
    overflow: hidden;
}

/* Ícones na página pública */
.service-icon-box {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(52,151,200,.1);
    color: var(--blue);
}

.service-svg {
    width: 31px;
    height: 31px;
}

.service-emoji {
    line-height: 1;
}

@media (max-width: 700px) {
    .icon-picker-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .icon-picker-dialog {
        padding: 20px 15px;
    }
}


/* ==========================================================
   TOUCH V3.3.1 - CORREÇÃO DEFINITIVA DO TAMANHO DOS ÍCONES
   ========================================================== */

/* Impede qualquer SVG da página de serviços de herdar tamanho livre */
.service-icon-box {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    padding: 12px !important;
    display: inline-grid !important;
    place-items: center !important;
    overflow: hidden !important;
    flex: 0 0 56px !important;
    line-height: 1 !important;
}

.card .service-icon-box svg,
.service-icon-box .service-svg,
svg.service-svg {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    flex: 0 0 30px !important;
    object-fit: contain !important;
    overflow: hidden !important;
    fill: currentColor !important;
}

.service-icon-box .service-emoji {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 27px !important;
    line-height: 30px !important;
    text-align: center !important;
}

/* Garante espaçamento uniforme nos cards */
.card > .service-icon-box {
    margin: 0 0 18px 0 !important;
}

/* TOUCH V3.4.1 - fallback definitivo dos clientes */
#touch-clientes .client-logo{width:180px!important;height:150px!important;min-width:180px!important;min-height:150px!important;max-width:180px!important;max-height:150px!important;flex:0 0 180px!important;overflow:visible!important}
#touch-clientes .client-logo img{filter:grayscale(100%)!important;-webkit-filter:grayscale(100%)!important;opacity:.65!important}
#touch-clientes .client-logo:hover img{filter:grayscale(0%)!important;-webkit-filter:grayscale(0%)!important;opacity:1!important}
#touch-clientes .logo-carousel{min-height:185px!important;height:auto!important;padding-bottom:24px!important}
