/* Scoped to this seven-language festival guide. */
.vc-guide { padding: 12px; font-size: 1rem; line-height: 1.8; color: #342b22; }
.vc-guide *, .vc-guide *::before, .vc-guide *::after { box-sizing: border-box; }
.vc-guide h2 { font-size: clamp(1.25rem, 2.1vw, 1.6rem); line-height: 1.5; margin: 0 0 .75rem; }
.vc-guide h3 { font-size: 1.12rem; line-height: 1.6; margin: 1.1rem 0 .5rem; }
.vc-guide p { margin: 0 0 1rem; text-align: left; }
main.vc-guide a { color: #85400b; text-decoration: underline !important; text-underline-offset: .18em; overflow-wrap: anywhere; }
.vc-guide a:focus-visible, .vc-guide summary:focus-visible { outline: 3px solid #1260b1; outline-offset: 3px; }
.vc-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.vc-article, .vc-sidebar { min-width: 0; }
.vc-article > section { margin: 0 0 1.75rem; scroll-margin-top: 110px; }
.vc-languages { padding: .75rem; background: #fff7e8; border: 1px solid #e1c49c; border-radius: 8px; margin-bottom: 1.25rem; }
.vc-languages > span { display: block; font-weight: 600; }
.vc-languages ul { display: flex; flex-wrap: wrap; gap: .35rem; margin: .35rem 0 0; padding: 0; list-style: none; }
.vc-languages a { display: flex; align-items: center; min-height: 44px; padding: .3rem .75rem; border: 1px solid #cbab83; border-radius: 5px; background: #fff; }
.vc-languages a[aria-current] { color: #fff; background: #85400b; border-color: #85400b; text-decoration: none !important; }
.vc-summary { background: #fff6df; border-left: 4px solid #b36721; padding: 1rem; }
.vc-summary ul { margin: 0; padding-left: 1.25rem; }
.vc-summary li { margin-bottom: .35rem; }
.vc-toc { border: 1px solid #ded4c5; padding: 1rem; border-radius: 8px; margin-bottom: 1.5rem; scroll-margin-top: 110px; }
.vc-toc ol { padding-left: 1.25rem; margin: 0; }
.vc-toc a { display: inline-flex; align-items: center; min-height: 44px; padding: .25rem 0; }
.vc-intro { display: flow-root; margin-bottom: 1.5rem; }
.vc-intro figure { float: left; width: min(36%, 210px); margin: 0 1.1rem .65rem 0; }
.vc-intro img { display: block; width: 100%; height: auto; border-radius: 6px; }
.vc-note, .vc-verse { padding: .85rem; border-left: 3px solid #bc8146; background: #faf5ec; margin: 0 0 1rem; }
.vc-times { border-collapse: collapse; table-layout: fixed; width: 100%; margin: 0 0 1.2rem; font-size: 1rem; }
.vc-times caption { caption-side: top; color: #514637; font-weight: 600; text-align: left; padding: .4rem 0; }
.vc-times th, .vc-times td { border: 1px solid #d9c7b3; padding: .55rem .6rem; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.vc-times thead th { background: #f6e3c2; }
.vc-times tbody th { font-weight: 500; }
.vc-times th:last-child, .vc-times td:last-child { width: 118px; }
.vc-times td { white-space: nowrap; font-variant-numeric: tabular-nums; }
.vc-times tbody tr:nth-child(even) { background: #fff9ef; }
.vc-times small { display: block; font-size: .78rem; line-height: 1.6; color: #615447; margin-top: .25rem; }
.vc-steps, .vc-names { padding-left: 1.4rem; margin: 0; }
.vc-steps li { padding-left: .2rem; margin-bottom: .9rem; }
.vc-steps h3 { margin: 0 0 .3rem; }
.vc-names li { margin-bottom: .65rem; padding-bottom: .65rem; border-bottom: 1px solid #eee3d5; }
.vc-names strong, .vc-names span { display: block; }
.vc-verse p:first-child { line-height: 2; overflow-wrap: anywhere; }
.vc-verse p:last-child { margin-bottom: 0; }
.vc-sidebar { padding: 1rem; border: 1px solid #dec5a5; border-radius: 8px; background: #fff9ef; }
.vc-sidebar ul { list-style: none; margin: 0; padding: 0; }
.vc-sidebar a { display: block; padding: .65rem 0; min-height: 44px; border-bottom: 1px solid #e8d7c2; }
.vc-ad { clear: both; margin: 1.75rem 0; padding: .65rem 0; border-top: 1px solid #ded4c5; border-bottom: 1px solid #ded4c5; }
.vc-ad > small { display: block; color: #696156; font-size: .75rem; }
.vc-ad .text-center { margin: 0; }
.vc-ad br { display: none; }
.vc-ad ins { min-height: 250px; }
.vc-guide .author-bio-box { clear: both; margin: 1.25rem 0; padding: 1rem; border: 1px solid #dec5a5; border-radius: 8px; background: #fffaf1; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 1rem; }
.vc-guide .oj-author-bio-image { max-width: 110px; height: auto; float: none !important; margin: 0 !important; }
.vc-guide .oj-author-bio-link, .vc-back { display: inline-flex; align-items: center; min-height: 44px; }
.vc-guide .oj-author-bio-approach { margin-bottom: .75rem; }
.vc-library { margin: 1rem 0; border: 1px solid #d8c8b7; border-radius: 6px; }
.vc-library summary { padding: .75rem; min-height: 44px; cursor: pointer; color: #85400b; font-weight: 600; }
.vc-library .container { width: 100%; max-width: 100%; }
@media (min-width: 992px) {
 .vc-layout { grid-template-columns: minmax(0, 1fr) 270px; }
}
@media (max-width: 575px) {
 .vc-guide { padding: 6px; }
 .vc-guide h2 { font-size: 1.25rem; }
 .vc-summary, .vc-toc, .vc-sidebar { padding: .7rem; }
 .vc-languages { padding: .6rem; }
 .vc-intro figure { float: none; width: 168px; margin: 0 auto 1rem; }
 .vc-times th, .vc-times td { padding: .5rem .4rem; }
 .vc-times th:last-child, .vc-times td:last-child { width: 111px; }
 .vc-guide .author-bio-box { padding: .7rem; grid-template-columns: minmax(0, 1fr); gap: .5rem; }
 .vc-guide .oj-author-bio-media { justify-self: center; }
 .vc-library .container, .vc-library .accordion-body { padding-left: .5rem; padding-right: .5rem; }
}
