/* core — reset, tipografia, utilitários */
::-webkit-scrollbar { display: none; }
* { -ms-overflow-style: none; scrollbar-width: none; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--qs-bg);
    color: #1a1a2e;
    min-height: 100vh;
    overflow-x: hidden;
}

a { color: var(--qs-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; }

.qs-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: 600;
    font-size: .95rem;
    cursor: pointer;
    transition: opacity .15s, transform .1s;
    border: 2px solid transparent;
    text-decoration: none;
    white-space: nowrap;
}
.qs-btn:hover { opacity: .88; transform: translateY(-1px); text-decoration: none; }
.qs-btn-primary { background: var(--qs-primary); color: #fff; border-color: var(--qs-primary); }
.qs-btn-outline  { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.qs-btn-outline:hover { background: rgba(255,255,255,.1); }
.qs-btn-wa {
    background: #25D366;
    color: #fff;
    border-color: #25D366;
    font-size: .9rem;
    padding: 11px 20px;
}

.qs-rich-text p { margin-bottom: .85em; }
.qs-rich-text ul, .qs-rich-text ol { padding-left: 1.4em; margin-bottom: .85em; }
.qs-rich-text h2, .qs-rich-text h3 { margin: 1.1em 0 .5em; font-weight: 700; }
.qs-rich-text a { color: var(--qs-primary); }
.qs-rich-text iframe { max-width: 100%; aspect-ratio: 16/9; width: 100%; border: 0; }
