/* Viibergi: only what Joomla markup needs on top of the demo's styles.css. Tokens from :root only. */
#system-message-container { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
#system-message-container:empty { display: none; }
/* A wholesale row with no pack value: the name takes the pack column */
@media (min-width: 641px) { .line--nopack .line__main { grid-column: span 2; } }
.bulk__title a { color: inherit; text-underline-offset: 4px; }
/* RSForm layout 2lines-xhtml on /tellimine and /kontakt, mapped onto the demo's .form__grid and .field rules. */
.formFieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.formFieldset legend:empty { display: none; }
.formContainer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; margin: 0; padding: 0; list-style: none; }
.rsform-block { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 0; }
.rsform-block[hidden], .rsform-block-hr, .rsform-block-hr-copy { display: none; }
.rsform-block-tellimus, .rsform-block-tellimuse-tekst, .rsform-block-kommentaarid, .rsform-block-teema, .rsform-block-sisu, .rsform-block-antispam, .rsform-block-saada { grid-column: 1 / -1; }
.formCaption2 { font-weight: 600; font-size: 0.9375rem; }
.formCaption2:empty, .formDescription:empty { display: none; }
.formCaption2 .star { color: var(--slide-red); }
.formBody .rsform-input-box, .formBody .rsform-text-box, .formBody .rsform-select-box { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--muted); border-radius: 4px; font: inherit; color: var(--ink); background: var(--white); }
.formBody .rsform-text-box { resize: vertical; }
.formBody .rsform-error { border-color: var(--slide-red); box-shadow: inset 0 0 0 1px var(--slide-red); }
.formDescription { font-size: 0.875rem; color: var(--muted); }
.formNoError { display: none; }
.formError { display: block; margin-top: 6px; font-size: 0.9375rem; font-weight: 600; color: var(--slide-red); }
.formRed { display: block; margin-bottom: 16px; font-weight: 600; color: var(--slide-red); }
@media (max-width: 640px) { .formContainer { grid-template-columns: 1fr; } }
.article-body { max-width: 46rem; }
.article-body img { max-width: 100%; height: auto; }
.split > :only-child { grid-column: 1 / -1; max-width: 46rem; }
/* DJ-Catalog appends its cart modal to catalogue pages; this site has no DJ cart. */
#djc_cart_popup { display: none; }
