
.sbm-tools-wrap{max-width:1180px;margin:30px auto;padding:0 16px;color:#0f172a;font-family:inherit}
.sbm-tools-hero{text-align:center;padding:34px 20px 20px}
.sbm-tools-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--sbm-accent);margin-bottom:8px}
.sbm-tools-hero h1{font-size:clamp(30px,4vw,48px);margin:0 0 10px}
.sbm-tools-hero p{font-size:18px;color:#64748b;max-width:720px;margin:0 auto}
.sbm-tools-search{max-width:700px;margin:20px auto}.sbm-tools-search input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:15px 18px;font-size:16px}
.sbm-tools-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:18px 0 25px}.sbm-tools-filters button{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer}.sbm-tools-filters button.active{background:var(--sbm-accent);color:#fff;border-color:var(--sbm-accent)}
.sbm-tools-grid{display:grid;gap:18px}.sbm-tools-grid.cols-1{grid-template-columns:1fr}.sbm-tools-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sbm-tools-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sbm-tools-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sbm-tool-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;box-shadow:0 5px 18px rgba(15,23,42,.05);display:flex;flex-direction:column;min-height:245px;transition:.2s}.sbm-tool-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(15,23,42,.09)}.sbm-tool-card.featured{border-top:3px solid var(--sbm-accent)}
.sbm-tool-icon{font-size:35px}.sbm-tool-category{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--sbm-accent);font-weight:700;margin-top:8px}.sbm-tool-card h3{font-size:20px;margin:7px 0}.sbm-tool-card p{color:#64748b;line-height:1.55;flex:1}
.sbm-tool-open,.sbm-calc{border:0;background:var(--sbm-accent);color:#fff;padding:12px 16px;border-radius:10px;font-weight:700;cursor:pointer}.sbm-tool-open:hover,.sbm-calc:hover{filter:brightness(.94)}
.sbm-tools-panel{display:none;position:fixed;z-index:999999;inset:0;background:rgba(15,23,42,.62);padding:20px;overflow:auto}.sbm-tools-panel.is-open{display:block}.sbm-tools-panel-inner{position:relative;max-width:760px;margin:5vh auto;background:#fff;border-radius:18px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.sbm-tools-close{position:absolute;right:16px;top:10px;border:0;background:transparent;font-size:32px;cursor:pointer;color:#64748b}
.sbm-tool-view-head{display:flex;gap:15px;align-items:flex-start;padding-right:25px}.sbm-tool-view-head>span{font-size:40px}.sbm-tool-view-head h2{margin:0 0 5px}.sbm-tool-view-head p{margin:0;color:#64748b}.sbm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:24px 0}.sbm-fields label,.sbm-invoice>label{display:flex;flex-direction:column;gap:7px;font-weight:600}.sbm-fields input,.sbm-fields select,.sbm-invoice input{border:1px solid #cbd5e1;border-radius:9px;padding:11px;font:inherit;font-weight:400}.sbm-result{margin-top:18px;padding:16px;border-radius:12px;background:#f1f5f9;min-height:22px;font-size:17px}.sbm-result strong{color:var(--sbm-accent)}.sbm-note{font-size:12px;color:#64748b;margin-top:18px}.sbm-secondary{border:1px solid #cbd5e1;background:#fff;border-radius:9px;padding:10px 13px;cursor:pointer}.sbm-invoice{display:grid;gap:12px;margin:20px 0}.inv-line{display:grid;grid-template-columns:2fr .7fr 1fr;gap:8px;margin-top:8px}.sbm-tools-cta{margin:35px 0;padding:22px;border-radius:16px;background:#f1f5f9;display:flex;gap:15px;justify-content:space-between;align-items:center}.sbm-tools-cta a{background:var(--sbm-accent);color:#fff;padding:11px 15px;border-radius:9px;text-decoration:none;font-weight:700}.sbm-tools-ad{margin:20px auto;padding:8px;text-align:center;overflow:hidden}
.sbm-tool-view{--sbm-accent:var(--sbm-accent)}
@media(max-width:900px){.sbm-tools-grid.cols-3,.sbm-tools-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sbm-tools-grid.cols-2,.sbm-tools-grid.cols-3,.sbm-tools-grid.cols-4{grid-template-columns:1fr}.sbm-fields{grid-template-columns:1fr}.sbm-tools-panel{padding:8px}.sbm-tools-panel-inner{margin:1vh auto;padding:22px}.sbm-tools-cta{flex-direction:column;align-items:flex-start}.inv-line{grid-template-columns:1fr}.sbm-tool-view-head{gap:10px}}

/* V2.1 - boutons de validation/résultat renforcés pour éviter les conflits avec le thème */
.sbm-tool-view .sbm-action{display:block!important;margin:22px 0 4px!important}
.sbm-tool-view button.sbm-calc{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:46px!important;
    padding:12px 22px!important;
    border:0!important;
    border-radius:10px!important;
    background:var(--sbm-accent,#0f766e)!important;
    color:#fff!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:700!important;
    cursor:pointer!important;
    box-shadow:0 5px 12px rgba(15,118,110,.18)!important;
}
.sbm-tool-view button.sbm-calc:hover{filter:brightness(.94)!important;transform:translateY(-1px)}
.sbm-tool-view .sbm-reset{
    display:inline-block!important;
    margin-top:10px!important;
    padding:9px 14px!important;
    border:1px solid #cbd5e1!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#334155!important;
    cursor:pointer!important;
}
.sbm-tool-view .sbm-result{
    display:block!important;
    visibility:visible!important;
    margin-top:20px!important;
    min-height:24px!important;
}

.sbm-managed-ad{max-width:900px;margin:18px auto;padding:18px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;display:flex;gap:18px;align-items:center;box-shadow:0 4px 15px rgba(15,23,42,.05)}
.sbm-managed-ad-image img{display:block;max-width:260px;max-height:110px;border-radius:10px;object-fit:cover}
.sbm-managed-ad-body{flex:1}.sbm-managed-ad-body strong{font-size:19px}.sbm-managed-ad-body p{margin:6px 0 12px;color:#64748b}.sbm-managed-ad-button{display:inline-block;background:var(--sbm-accent,#0f766e);color:#fff!important;padding:10px 14px;border-radius:9px;text-decoration:none;font-weight:700}
@media(max-width:650px){.sbm-managed-ad{flex-direction:column;align-items:flex-start}.sbm-managed-ad-image,.sbm-managed-ad-image img{width:100%;max-width:none;height:auto}}
