.vte{font-family:inherit;color:#262626;--vte-line:#ded8ca;--vte-accent:#8d4716}.vte *{box-sizing:border-box}.vte-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;margin:0 0 1rem}.vte-controls label{font-weight:700}.vte-controls input,.vte-controls select{border:1px solid #b7b1a8;background:#fff;padding:.5rem .7rem;min-height:44px;max-width:100%;color:#222}.vte-controls input{width:min(100%,330px)}.vte-count{font-size:.9rem;margin:0 0 .75rem}.vte-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.5rem}.vte-card{background:#fffdf9;border:1px solid var(--vte-line);min-width:0;overflow:hidden}.vte-card[hidden],.vte-detail[hidden],.vte-empty[hidden]{display:none!important}.vte-summary{display:flex;align-items:stretch;min-height:200px}.vte-media{position:relative;flex:0 0 37%;min-width:0;overflow:hidden;background:#e5ebf2}.vte-media img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.vte-noimage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:#dce9eb;font-weight:700;color:#244b71;font-size:1.1rem;padding:.5rem}.vte-body{min-width:0;flex:1;display:flex;flex-direction:column;padding:1rem;gap:.3rem}.vte-date{color:var(--vte-accent);font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .35rem}.vte h3{font-size:clamp(1.05rem,1.4vw,1.35rem);line-height:1.25;margin:0 0 .35rem;overflow-wrap:anywhere;color:#242424}.vte-short{font-size:.91rem;color:#515151;line-height:1.5;overflow-wrap:anywhere}.vte-short p{margin:.15rem 0 .5rem}.vte-short ul,.vte-short ol{padding-left:1.25rem;margin:.3rem 0 .5rem}.vte-meta{font-size:.82rem;line-height:1.4;margin:.2rem 0;overflow-wrap:anywhere}.vte-meta a,.vte-detail a{color:#8d4716;text-decoration:underline}.vte-actions{margin-top:auto;padding-top:.8rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.vte-toggle,.vte-actions>a{font:inherit;font-size:.78rem;font-weight:700;background:transparent;border:0;color:var(--vte-accent);cursor:pointer;padding:.4rem 0;text-decoration:none;text-transform:uppercase;letter-spacing:.025em}.vte-toggle:hover,.vte-actions>a:hover{text-decoration:underline}.vte-toggle:focus-visible,.vte-actions a:focus-visible,.vte-controls :focus-visible{outline:3px solid #b8782c;outline-offset:2px}.vte-detail{padding:1rem 1.25rem;border-top:1px solid var(--vte-line);line-height:1.65;overflow-wrap:anywhere;background:#f8f5ee}.vte-detail p{margin:.2rem 0 .85rem}.vte-detail ul,.vte-detail ol{padding-left:1.4rem}.vte-detail h4,.vte-detail h5{margin:1rem 0 .4rem}.vte-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.75rem}.vte-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin:.7rem 0}.vte-tag{font-size:.76rem;padding:.2rem .5rem;background:#e5ebf2;color:#244b71}.vte-credit{font-size:.8rem;color:#57534c;margin-top:1.5rem}.vte-notice{padding:1rem;background:#f5f1e9;border-left:3px solid #8d4716}.vte-empty{margin:1rem 0}@media(max-width:480px){.vte-body{padding:.7rem}.vte-short{font-size:.83rem}.vte-meta{font-size:.76rem}.vte-actions{align-items:flex-start}.vte h3{font-size:1rem}.vte-controls{align-items:stretch;flex-direction:column}.vte-controls input,.vte-controls select{width:100%}}

/* Etusivun tiivis-widget: no theme-font override, scalable 3 columns */
.vte-compact{font-family:inherit;color:var(--vte-widget-text,inherit);max-width:100%;}.vte-widget-heading{font:inherit;font-size:clamp(1.3rem,2vw,2rem);font-weight:750;margin:0 0 1rem}.vte-compact-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem}.vte-compact-card{min-width:0;background:var(--vte-widget-bg,transparent);border:1px solid var(--vte-line,#ded8ca);display:flex;flex-direction:column;overflow:hidden}.vte-compact-media{height:clamp(var(--vte-compact-image,100px),15vw,200px);background:#e5ebf2;position:relative;overflow:hidden}.vte-compact-media img{width:100%;height:100%;object-fit:cover;display:block}.vte-compact-media span{display:grid;place-items:center;height:100%;font-weight:700}.vte-compact-body{padding:1rem;flex:1;display:flex;flex-direction:column;gap:.55rem}.vte-compact h3{font:inherit;font-weight:750;font-size:1.15rem;line-height:1.3;margin:0}.vte-compact-time{font-size:.81rem;font-weight:700;color:var(--vte-accent,inherit);margin:0}.vte-compact-organizer{font-size:.88rem;margin:0}.vte-compact-short{font-size:.9rem}.vte-compact-short p{margin:0 0 .3rem}.vte-compact-open{margin-top:auto;align-self:flex-start;min-height:36px}.vte-compact-detail{margin-top:auto}.vte-compact-detail[hidden]{display:none!important}.vte-widget-footer{text-align:right;margin-top:1.1rem}.vte-widget-footer a{color:var(--vte-accent,inherit);font-weight:700}.vte-compact a:focus-visible,.vte-compact button:focus-visible{outline:3px solid currentColor;outline-offset:2px}.vte-custom-template{overflow-wrap:anywhere}
@media(max-width:680px){.vte-compact-track{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:.8rem;padding:0 12% .8rem 0;scrollbar-width:thin}.vte-compact-card{flex:0 0 var(--vte-mobile-width,82%);scroll-snap-align:start}.vte-compact-media{height:150px}.vte-compact-track::after{content:"";flex:0 0 1px}}
@media(prefers-reduced-motion:no-preference){.vte-compact-track{scroll-behavior:smooth}}
/* Tiivisnäkymä perii sivuston teksti- ja linkkivärit, jollei niitä muuteta asetuksissa. */
.vte.vte-compact{--vte-accent:currentColor;--vte-line:currentColor;color:var(--vte-widget-text,inherit)}
.vte-compact h3{color:inherit;font-family:inherit}.vte-compact .vte-compact-time{color:inherit}.vte-compact .vte-compact-open,.vte-compact .vte-widget-footer a,.vte-compact .vte-detail a{color:inherit}.vte-compact .vte-compact-card{border-color:color-mix(in srgb,currentColor 20%,transparent)}
/* Kalenderin asetettavat sarakkeet ja sivutus. */
.vte:not(.vte-compact) .vte-grid{grid-template-columns:repeat(var(--vte-columns,2),minmax(0,1fr))}
.vte-pagination{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.25rem 0}
.vte-pagination button{font:inherit;min-width:2.75rem;min-height:2.75rem;padding:.35rem .65rem;border:1px solid currentColor;color:inherit;background:transparent;cursor:pointer}
.vte-pagination button[aria-current=page]{font-weight:800;border-width:2px}
.vte-pagination button:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.vte-pagination button:disabled{opacity:.45;cursor:default}



/* Accessible, theme-inheriting organizer filter and mobile slider controls. */
.vte-org-label{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.65rem 0 1rem;font:inherit;font-size:.9rem}
.vte-org-select{font:inherit;min-height:44px;max-width:100%;padding:.4rem .7rem;border:1px solid currentColor;background:transparent;color:inherit}
.vte-compact-card[hidden]{display:none!important}
.vte-compact-scroll{position:relative}
.vte-scroll-nav{display:none;justify-content:flex-end;gap:.6rem;padding:.6rem .1rem .15rem}
.vte-scroll-nav button{width:42px;height:42px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font:inherit;font-size:1.8rem;line-height:1;cursor:pointer;padding:0}
.vte-scroll-nav button:disabled{opacity:.3;cursor:default}
.vte-scroll-nav button:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media(max-width:680px){.vte-scroll-nav{display:flex}}

.vte-card-credit{margin:0;border-top:1px solid var(--vte-line,#ded8ca);padding:.5rem .85rem;font-size:.75rem;line-height:1.4;color:inherit;opacity:.78}.vte-card-credit a{text-decoration:underline;color:inherit}.vte-compact-card>.vte-card-credit{margin-top:auto}.vte-credit a{color:inherit;text-decoration:underline}

/* v7.1: Independent expanded card heights and intrinsic card layouts */
.vte-compact-track{align-items:start}.vte-compact-card{align-self:start}.vte-schedule{margin:0 0 1rem}.vte-schedule h4{margin:0 0 .35rem}.vte-schedule-extra{white-space:normal}

/* v7.1.1: separate calendar date and clock; the site's typeface is inherited. */
.vte:not(.vte-compact) .vte-date{display:flex;flex-direction:column;gap:.18rem;margin:0 0 .55rem;text-transform:none;letter-spacing:normal}
.vte:not(.vte-compact) .vte-date-day{display:block;font-size:1.06rem;line-height:1.3;font-weight:800;color:var(--vte-accent,#8d4716)}
.vte:not(.vte-compact) .vte-date-clock{display:block;font-size:.91rem;line-height:1.35;font-weight:500;color:inherit}
/* A consistent action palette with readable contrast and clear intent. */
.vte{--vte-action-primary:#244b71;--vte-action-secondary:#8d4716}
.vte .vte-actions{gap:.65rem;justify-content:flex-start}
.vte .vte-actions .vte-toggle,.vte .vte-actions>a,
.vte .vte-compact-open,.vte .vte-widget-footer>a,
.vte .vte-detail .vte-links>a,.vte .vte-detail p>a:not([href^="mailto:"]):not([href^="tel:"]):not(.vte-registration-link),
.vte .vte-compact-detail p>a:not([href^="mailto:"]):not([href^="tel:"]):not(.vte-registration-link){
 display:inline-flex;align-items:center;justify-content:center;gap:.3rem;
 padding:.63rem .85rem;min-height:44px;max-width:100%;box-sizing:border-box;
 font-family:inherit;font-size:.86rem;font-weight:700;line-height:1.35;
 text-decoration:none;border:2px solid var(--vte-action-primary);border-radius:0;
 background:var(--vte-action-primary);color:#fff;cursor:pointer;text-transform:none;letter-spacing:normal;
}
.vte .vte-actions .vte-toggle,.vte .vte-compact-open:is(button),.vte .vte-compact-detail .vte-toggle{
 background:transparent;color:var(--vte-action-primary);border-color:var(--vte-action-primary)
}
.vte .vte-actions>a,.vte .vte-widget-footer>a{background:var(--vte-action-secondary);border-color:var(--vte-action-secondary);color:#fff}
.vte .vte-actions .vte-toggle:hover,.vte .vte-compact-open:is(button):hover{background:var(--vte-action-primary);color:#fff;text-decoration:none}
.vte .vte-actions>a:hover,.vte .vte-widget-footer>a:hover{filter:brightness(.87);color:#fff;text-decoration:none}
.vte .vte-detail .vte-links>a:hover,.vte .vte-detail p>a:not([href^="mailto:"]):not([href^="tel:"]):not(.vte-registration-link):hover{filter:brightness(.87);color:#fff;text-decoration:none}
.vte .vte-actions :is(a,button):focus-visible,.vte .vte-detail a:focus-visible,.vte .vte-compact-open:focus-visible{outline:3px solid #bd7828;outline-offset:3px}
@media(hover:none){.vte .vte-actions :is(a,button){min-height:44px}}

.vte.vte-compact .vte-compact-open:is(a){color:#fff}.vte.vte-compact .vte-compact-open:is(button){color:var(--vte-action-primary)}

/* v7.1.2: responsive action buttons, consistent Maps appearance even in expanded cards */
.vte .vte-actions{align-items:stretch}
.vte .vte-actions :is(a,button){white-space:normal;text-align:center;overflow-wrap:normal;word-break:normal;flex-shrink:0}
.vte .vte-actions :is(a,button) span{display:inline-block;white-space:nowrap}
/* v7.1.4: Maps is an inline text link, including inside expanded details. */
.vte a.vte-maps-link,
.vte .vte-meta a.vte-maps-link,
.vte .vte-detail p>a.vte-maps-link,
.vte .vte-compact-detail p>a.vte-maps-link,
.vte .vte-custom-template a.vte-maps-link {
 display:inline;min-height:0;max-width:none;padding:0;margin:0;
 border:0;border-radius:0;background:transparent;
 color:var(--vte-accent,#8d4716);font:inherit;font-weight:600;
 text-decoration:underline;text-underline-offset:2px;text-transform:none;
 white-space:normal;letter-spacing:normal;
}
.vte a.vte-maps-link:hover,.vte .vte-detail p>a.vte-maps-link:hover,
.vte .vte-compact-detail p>a.vte-maps-link:hover {
 background:transparent;color:var(--vte-accent,#8d4716);
 text-decoration:underline;filter:none;
}
.vte a.vte-maps-link:focus-visible {outline:3px solid #bd7828;outline-offset:3px}
@container (max-width:320px){.vte:not(.vte-compact) .vte-actions :is(a,button){width:100%;flex:1 1 100%}}

/* v7.1.5: registration URL is always a text link; source is a clear footer action. */
.vte .vte-detail .vte-registration a.vte-registration-link,
.vte .vte-compact-detail .vte-registration a.vte-registration-link {
 display:inline;min-height:0;max-width:none;padding:0;margin:0;border:0;
 background:transparent;color:var(--vte-accent,#8d4716);font:inherit;
 font-weight:600;text-decoration:underline;text-underline-offset:2px;
}
.vte .vte-detail .vte-registration a.vte-registration-link:hover,
.vte .vte-compact-detail .vte-registration a.vte-registration-link:hover {background:transparent;color:var(--vte-accent,#8d4716);filter:none;text-decoration:underline}
.vte .vte-detail .vte-detail-footer, .vte .vte-compact-detail .vte-detail-footer {margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--vte-line,#ded8ca)}
.vte .vte-detail .vte-detail-footer a.vte-event-source-button,
.vte .vte-compact-detail .vte-detail-footer a.vte-event-source-button {
 display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;
 padding:.63rem .85rem;box-sizing:border-box;border:2px solid var(--vte-action-secondary,#8d4716);
 border-radius:0;background:var(--vte-action-secondary,#8d4716);color:#fff;
 font:inherit;font-size:.86rem;font-weight:700;line-height:1.35;text-decoration:none;text-align:center;
}
.vte .vte-detail .vte-detail-footer a.vte-event-source-button:hover,
.vte .vte-compact-detail .vte-detail-footer a.vte-event-source-button:hover {filter:brightness(.87);color:#fff;text-decoration:none}

/* Registration is an inline link even when site/theme styles target links in details. */
.vte .vte-detail .vte-registration p a.vte-registration-link,
.vte .vte-compact-detail .vte-registration p a.vte-registration-link {display:inline !important;padding:0 !important;min-height:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important;color:var(--vte-accent,#8d4716) !important;text-decoration:underline !important;font:inherit !important;font-weight:600 !important;}

/* Single event card: inherit main calendar layout and typography. */
.vte-single{max-width:100%;}.vte-single .vte-card{background:var(--vte-single-bg,#fffdf9)}.vte-single .vte-date-day,.vte-single .vte-date-clock{display:block}.vte-single .vte-date-day{font-size:1.15em;font-weight:800}.vte-single .vte-date-clock{font-weight:400;font-size:.9em}.vte-single .vte-card{width:100%}
