/* WordPress integration only; the source website supplies the design stylesheet. */
[hidden] { display: none !important; }
.aivo-standard-page { padding-top: 150px; padding-bottom: 100px; min-height: 65vh; }
.aivo-skip-link { position: fixed; left: 16px; top: -100px; z-index: 99999; padding: 12px; background: white; color: black; }
.aivo-skip-link:focus { top: 16px; }
.admin-bar > header { top: 32px; }
.aivo-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 6px; font-size: 14px; font-weight: 500; min-height: 40px; padding: 8px 16px; transition: background .15s; }
.aivo-button-primary { background: hsl(var(--primary)); color: white; }
.aivo-button-primary:hover { background: hsl(var(--primary)/.9); }
.aivo-button-outline { background: hsl(var(--background)); border: 1px solid hsl(var(--input)); }
.aivo-button-outline:hover { background: hsl(var(--muted)); }
.aivo-cookie-option { display: flex; align-items: center; justify-content: space-between; padding: 16px; margin-bottom: 8px; background: hsl(var(--muted)/.5); border-radius: 8px; }
.aivo-cookie-option input { width: 20px; height: 20px; accent-color: hsl(var(--primary)); }
@media(max-width:782px) { .admin-bar > header { top: 46px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }

/* Native content uses the existing design tokens and responsive type scale. */
.aivo-category { background: hsl(var(--secondary)); color: hsl(var(--foreground)); }
.aivo-category[aria-pressed="true"] { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
[data-aivo-accordion] > summary { cursor: pointer; list-style: none; }
[data-aivo-accordion] > summary::-webkit-details-marker { display: none; }
[data-aivo-accordion][open] > summary svg { transform: rotate(180deg); }
.aivo-rich-content { overflow-wrap: anywhere; }
.aivo-rich-content > :first-child { margin-top: 0; }
.aivo-rich-content p { margin: 1rem 0; line-height: 1.75; color: hsl(var(--foreground) / .8); }
.aivo-rich-content h2, .aivo-rich-content h3, .aivo-rich-content h4 { font-family: var(--font-display, "DM Sans", sans-serif); font-weight: 700; line-height: 1.25; margin: 1rem 0; }
.aivo-rich-content h2 { font-size: 1.875rem; }
.aivo-rich-content h3 { font-size: 1.8rem; }
.aivo-rich-content h4 { font-size: 1.5rem; }
.aivo-rich-content ul, .aivo-rich-content ol { margin: 1rem 0; padding-left: 1.5rem; }
.aivo-rich-content ul { list-style: disc; }
.aivo-rich-content ol { list-style: decimal; }
.aivo-rich-content li { margin: .5rem 0; }
.aivo-rich-content a { color: hsl(var(--primary)); text-decoration: underline; }
.aivo-rich-content img { max-width: 100%; height: auto; }
.aivo-rich-content table { display: block; overflow-x: auto; max-width: 100%; border-collapse: collapse; }
.aivo-rich-content td, .aivo-rich-content th { border: 1px solid hsl(var(--border)); padding: .75rem; }
.aivo-rich-content pre { overflow-x: auto; padding: 1rem; background: hsl(var(--secondary)); }
@media (max-width: 767px) { .aivo-rich-content h2, .aivo-rich-content h3 { font-size: 1.5rem; } .aivo-rich-content h4 { font-size: 1.25rem; } }

.aivo-native-checkbox { appearance: auto; accent-color: hsl(var(--primary)); width: 16px; height: 16px; flex-shrink: 0; }
.aivo-input { display: block; width: 100%; border: 1px solid hsl(var(--border)); border-radius: 6px; background: hsl(var(--background)); padding: 9px 12px; color: hsl(var(--foreground)); font: inherit; }
.aivo-input:focus { outline: 2px solid hsl(var(--primary) / .3); outline-offset: 1px; }
.aivo-field-error, [data-aivo-form-status] { color: #b91c1c; font-size: .875rem; margin-top: .35rem; }
[aria-invalid="true"] { border-color: #dc2626 !important; }
.aivo-honeypot { position: absolute; left: -9999px; }
.aivo-form-success { min-height: 380px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; text-align: center; }
.aivo-success-mark { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: hsl(var(--primary) / .1); color: hsl(var(--primary)); font-size: 28px; }
.aivo-dialog { border: 1px solid hsl(var(--border)); border-radius: 8px; margin: auto; width: calc(100% - 32px); max-width: 512px; max-height: 85vh; overflow-y: auto; background: hsl(var(--background)); color: hsl(var(--foreground)); padding: 24px; box-shadow: 0 20px 60px #0004; }
.aivo-dialog::backdrop { background: #000c; }
.aivo-dialog-close { position: absolute; top: 12px; right: 16px; font-size: 24px; line-height: 1; }
.vacancy-content :is(h1,h2,h3,h4) { font-size: 18px; margin-top: 40px; margin-bottom: 12px; }
.vacancy-content > :first-child { margin-top: 0; }
