.soc-odoo{max-width:960px;margin:0 auto}
.soc-cert{max-width:720px;padding:24px 0}
.soc-cert__title{margin:0 0 16px;text-align:center}
.soc-cert__form{display:flex;gap:8px}
.soc-odoo input[type=text],.soc-odoo input[type=email],.soc-odoo input[type=tel],.soc-odoo textarea{width:100%;padding:12px 14px;border:1px solid #cfd6df;border-radius:8px;font-size:16px;box-sizing:border-box}
.soc-odoo button{padding:12px 24px;border:0;border-radius:8px;background:#0b5cab;color:#fff;font-weight:600;cursor:pointer}
.soc-note{margin:8px 0 0;color:#6b7280;font-size:14px}
.soc-cert__result{margin-top:20px;padding:16px;border-radius:10px;border:1px solid #e5e7eb;background:#fff}
.soc-cert__result.is-error,.soc-error{border:1px solid #f5c2c7;background:#fff5f5;color:#b42318;padding:12px;border-radius:8px;margin-bottom:12px}
.soc-ok{border:1px solid #abefc6;background:#ecfdf3;color:#05603a;padding:12px;border-radius:8px;margin-bottom:12px}
.soc-cert__state{display:inline-block;margin-bottom:10px;padding:4px 12px;border-radius:999px;background:#e5e7eb;font-weight:600;font-size:14px}
.soc-cert__state.state-valid,.soc-cert__state.state-active,.soc-cert__state.state-issued{background:#d1fadf;color:#05603a}
.soc-cert__state.state-expired,.soc-cert__state.state-suspended,.soc-cert__state.state-cancelled,.soc-cert__state.state-withdrawn{background:#fee4e2;color:#b42318}
.soc-cert__result table{width:100%;border-collapse:collapse}
.soc-cert__result th{width:34%;text-align:left;padding:8px;color:#6b7280;font-weight:500;vertical-align:top;border-top:1px solid #f0f0f0}
.soc-cert__result td{padding:8px;border-top:1px solid #f0f0f0}
.soc-grid{display:grid;grid-template-columns:repeat(var(--soc-cols,3),1fr);gap:16px}
.soc-card{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fff}
.soc-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.soc-card h3{font-size:16px;margin:10px 0 4px}
.soc-sku{color:#6b7280;font-size:13px}
.soc-price{font-weight:700;color:#0b5cab;margin-top:6px}
.soc-contact form{display:grid;gap:10px}
.soc-cats{list-style:disc;padding-left:20px}
@media(max-width:700px){.soc-grid{grid-template-columns:repeat(2,1fr)}.soc-cert__form{flex-direction:column}}
@media(max-width:420px){.soc-grid{grid-template-columns:1fr}}
