/* Stop the Spam Calls functional widgets only. Virtue Premium owns global design, body, header, navigation, fonts and layout. */
.stsc-widget,.szv-quick-report,.szv-contact-form{box-sizing:border-box;max-width:100%;padding:1.25rem;border:1px solid #c7ced8;border-radius:4px;background:#fff;color:#132333}
.stsc-widget *, .szv-quick-report *, .szv-contact-form *{box-sizing:border-box}
.stsc-widget :is(label,strong),.szv-quick-report strong,.szv-contact-form label{display:block;font-weight:700;color:#122538}
.stsc-report-form,.stsc-lookup-form,.szv-quick-report form,.szv-contact-form form{display:grid;gap:.65rem}
.stsc-report-form :is(input,select,textarea),.stsc-lookup-form :is(input,select,textarea),.szv-quick-report input,.szv-contact-form :is(input,select,textarea){max-width:100%;width:100%;border:1px solid #7c8796;background:#fff;color:#102333;padding:.65rem;min-height:44px}
.stsc-form-grid,.stsc-lookup-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.stsc-lookup-controls{grid-template-columns:minmax(0,1fr) auto}
.stsc-report-form button,.stsc-lookup-form button,.szv-quick-report button,.szv-contact-form button{min-height:44px;padding:.65rem 1rem;cursor:pointer}
.stsc-checkbox-label,.szv-check{display:flex;align-items:flex-start;gap:.5rem}.stsc-checkbox-label input,.szv-check input{width:18px;min-height:18px;flex:0 0 18px;margin-top:.2rem}
.stsc-bot-field,.szv-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.stsc-ftc-table-scroll{max-width:100%;overflow-x:auto}.stsc-ftc-table-scroll table{width:100%;border-collapse:collapse}
.stsc-ftc-table-scroll :is(td,th){padding:.6rem;border-bottom:1px solid #ccd3d9;text-align:left}
.stsc-notice{padding:1rem;margin:1rem 0;border-left:5px solid #2a628b;background:#f3f8fc}
.stsc-notice--error{border-left-color:#ad1f2c;background:#fff4f4}
.stsc-input-hint,.stsc-form-footnote,.stsc-disclaimer{font-size:.9rem;line-height:1.5}
.stsc-eagle-art,.stsc-brand img,.stscr-service-icon{max-width:100%;height:auto}
.szv-news-feed{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.szv-news-item{padding:1rem;border:1px solid #cbd2d9}
.szv-footer-feature-bar{display:flex;flex-wrap:wrap;gap:1rem}.szv-footer-feature-bar a{display:grid;gap:.25rem}
@media(max-width:640px){.stsc-form-grid,.stsc-lookup-controls{grid-template-columns:minmax(0,1fr)}}

/*
 * StopTheSpamCalls.org — approved gold action buttons
 * Targets Gutenberg buttons inside page content plus STSC reporting widgets.
 * Does NOT target Virtue header, navigation, Slider Revolution or WP admin.
 * Compatible with Virtue Premium's standard .entry-content wrapper.
 */
body.page .entry-content .wp-block-buttons .wp-block-button > .wp-block-button__link,
body.page .entry-content .wp-block-buttons .wp-block-button > a.wp-element-button,
.stsc-widget .stsc-report-form button[type="submit"],
.stsc-widget .stsc-lookup-form button[type="submit"],
.szv-quick-report form button[type="submit"],
.szv-contact-form form button[type="submit"] {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 46px;
    max-width: 100%;
    padding: 11px 20px;
    border: 1px solid #a67521 !important;
    border-radius: 5px !important;
    background: linear-gradient(180deg, #ffecaf 0%, #efc45c 42%, #cd962b 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 3px 0 #825a18, 0 4px 9px rgba(4,17,33,.2) !important;
    color: #071b30 !important;
    font-family: Lato, Arial, sans-serif;
    font-size: 14px;
    font-weight: 800 !important;
    line-height: 1.25;
    letter-spacing: .015em;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    text-shadow: none !important;
    cursor: pointer;
    transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}
body.page .entry-content .wp-block-buttons .wp-block-button > .wp-block-button__link:hover,
body.page .entry-content .wp-block-buttons .wp-block-button > .wp-block-button__link:active,
.stsc-widget .stsc-report-form button[type="submit"]:hover,
.stsc-widget .stsc-lookup-form button[type="submit"]:hover,
.szv-quick-report form button[type="submit"]:hover,
.szv-contact-form form button[type="submit"]:hover {
    background: linear-gradient(180deg, #fff3c8 0%, #f4ce74 45%, #d9a73f 100%) !important;
    color: #06172a !important;
    border-color: #815914 !important;
}
body.page .entry-content .wp-block-buttons .wp-block-button > .wp-block-button__link:focus-visible,
.stsc-widget .stsc-report-form button[type="submit"]:focus-visible,
.stsc-widget .stsc-lookup-form button[type="submit"]:focus-visible,
.szv-quick-report form button[type="submit"]:focus-visible,
.szv-contact-form form button[type="submit"]:focus-visible {
    outline: 3px solid #204e78 !important;
    outline-offset: 4px;
}
@media (max-width: 640px) {
    body.page .entry-content .wp-block-buttons .wp-block-button > .wp-block-button__link,
    .stsc-widget .stsc-report-form button[type="submit"],
    .stsc-widget .stsc-lookup-form button[type="submit"],
    .szv-quick-report form button[type="submit"],
    .szv-contact-form form button[type="submit"] {
        min-height: 48px;
        white-space: normal;
    }
}


/*
 * v2.1.9 — Unified consumer-action panels (Virtue-native pages).
 * Scope: plugin-generated report/lookup/contact components only.
 * Virtue Premium owns the header, navigation, slider, body and page columns.
 */
.stsc-widget,
.szv-quick-report,
.szv-contact-form {
    border: 1px solid #c5cfda;
    border-top: 4px solid #c89a37;
    border-radius: 7px;
    background: #ffffff;
    padding: 22px;
    box-shadow: 0 4px 16px rgba(13, 33, 55, .07);
}
.stsc-widget .stsc-widget-heading,
.szv-quick-report .stsc-widget-heading {
    padding: 0 0 14px;
    margin: 0 0 18px;
    border-bottom: 1px solid #d8e1ea;
}
.stsc-widget .stsc-eyebrow,
.szv-quick-report .stsc-eyebrow {
    display: block;
    color: #876014;
    font: 800 12px/1.4 Lato, Arial, sans-serif;
    letter-spacing: .075em;
    text-transform: uppercase;
    margin: 0 0 6px;
}
.stsc-widget .stsc-widget-heading h2,
.szv-quick-report .stsc-widget-heading h3 {
    font-family: Lato, Arial, sans-serif;
    font-size: clamp(20px, 1.65vw, 23px);
    line-height: 1.24;
    font-weight: 700;
    letter-spacing: 0;
    color: #0c2844;
    margin: 0 0 9px;
    padding: 0;
}
.stsc-widget .stsc-widget-heading p,
.szv-quick-report .stsc-widget-heading p {
    font: 400 15px/1.5 Lato, Arial, sans-serif;
    color: #2d4054;
    margin: 0;
}
.stsc-widget .stsc-lookup-form,
.stsc-widget .stsc-report-form,
.szv-quick-report form,
.szv-contact-form form {
    margin: 0;
    gap: 11px;
}
.stsc-widget :is(.stsc-lookup-form, .stsc-report-form) label,
.szv-contact-form form label:not(.szv-check),
.szv-quick-report form .stsc-field-label {
    color: #122d46;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
    margin: 0;
}
.stsc-widget .stsc-lookup-controls {
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
    align-items: stretch;
}
.stsc-widget .stsc-lookup-controls input,
.stsc-widget .stsc-lookup-controls button,
.szv-quick-report form input,
.szv-quick-report form button,
.stsc-widget .stsc-report-form :is(input:not([type="checkbox"]),select,textarea),
.szv-contact-form form :is(input:not([type="checkbox"]),select,textarea) {
    min-height: 46px;
    margin: 0;
    font-size: 14px;
}
.szv-quick-report form button,
.stsc-widget .stsc-lookup-controls button[type="submit"],
.stsc-widget .stsc-report-form button[type="submit"],
.szv-contact-form form button[type="submit"] {
    width: 100%;
}
.stsc-widget .stsc-disclaimer,
.stsc-widget .stsc-form-footnote,
.szv-quick-report > .stsc-form-footnote,
.szv-contact-form .stsc-form-footnote {
    display: block;
    font: 400 14px/1.55 Lato, Arial, sans-serif;
    color: #30465e;
    margin: 17px 0 0;
    padding: 13px 0 0;
    border-top: 1px solid #dce3e9;
    overflow-wrap: anywhere;
}
.stsc-widget .stsc-input-hint {
    display: block;
    font: 400 14px/1.5 Lato, Arial, sans-serif;
    color: #30465e;
    margin: 0;
}
.stsc-widget .stsc-lookup-message,
.stsc-widget .stsc-lookup-results {
    margin-top: 18px;
}
@media (max-width: 640px) {
    .stsc-widget, .szv-quick-report, .szv-contact-form { padding: 17px; }
    .stsc-widget .stsc-lookup-controls { grid-template-columns: minmax(0,1fr); }
    .stsc-widget .stsc-lookup-controls button { width: 100%; }
}
