:root {
    --site-color-dark: #222;
    --site-color-primary: #ffc527;
    --site-color-primary-hover: #efb516;
    --site-color-light: #ededed;
    --site-color-white: #fff;
    --site-color-black: #000;
    --site-color-accent-text: #805b00;
    --site-font-body: 'Murecho', sans-serif;
    --site-font-heading: 'Akshar', sans-serif;
    /* Previous value: --site-content-width: 82.5rem; */
    --site-content-width: 1200px;
    --site-page-gutter: 1.5rem;
    --site-section-space: clamp(3rem, 7vw, 6rem);
    --site-space-small: .5rem;
    --site-space-medium: 1rem;
    --site-space-large: 1.5rem;
    --site-space-xlarge: 2rem;
    --site-radius: .5rem;
    --yw24-border-color: #ccc;
    --yw24-grid-minimum: 16rem;
    /* Previous value: --yw24-focus-color: #805b00; */
    --yw24-focus-color: var(--site-color-accent-text);
}

*, *::before, *::after { box-sizing: border-box; }
body {
    margin: 0;
    color: var(--site-color-dark);
    background: var(--site-color-white);
    font: 400 1rem/1.6 var(--site-font-body);
    overflow-wrap: anywhere;
}
img, svg, video, iframe { max-width: 100%; }
img {
    display: block;
    height: auto;
}
a { color: inherit; }
a:hover { text-decoration-thickness: .15em; }
:focus-visible {
    outline: .2rem solid var(--yw24-focus-color);
    outline-offset: .2rem;
}
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 var(--site-space-medium);
    font-family: var(--site-font-heading);
    line-height: 1.15;
}
h1 { font-size: clamp(2.5rem, 5vw, 3.375rem); }
h2 { font-size: clamp(2rem, 4vw, 2.875rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2rem); }
h4, h5, h6 { font-size: 1.25rem; }
p { margin: 0 0 var(--site-space-medium); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.yw24-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.yw24-main {
    flex: 1;
    min-width: 0;
}
.yw24-container {
    width: min(100% - 2 * var(--site-page-gutter), var(--site-content-width));
    margin-inline: auto;
}
.yw24-section { padding-block: var(--site-section-space); }
.yw24-section--muted { background: var(--site-color-light); }
.yw24-section--accent {
    color: var(--site-color-dark);
    background: var(--site-color-primary);
}
.yw24-section--dark {
    color: var(--site-color-light);
    background-color: var(--site-color-dark);
    --yw24-focus-color: var(--site-color-primary);
}
.yw24-section--centered { text-align: center; }
/* Previous rule: .yw24-pretitle { color: #805b00; font-family: var(--site-font-heading); font-weight: 700; } */
.yw24-pretitle {
    color: var(--site-color-accent-text);
    font-family: var(--site-font-heading);
    font-weight: 700;
}
.yw24-section--dark .yw24-pretitle { color: var(--site-color-primary); }
.yw24-section--accent .yw24-pretitle { color: inherit; }
.yw24-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--yw24-grid-minimum)), 1fr));
    gap: var(--site-space-large);
}
.yw24-card-grid > * { min-width: 0; }
.yw24-item-row {
    --yw24-items-per-row: 5;
    --yw24-item-minimum: 10rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    gap: var(--site-space-large);
}
.yw24-item-row > * {
    flex: 0 0 calc((100% - (var(--yw24-items-per-row) - 1) * var(--site-space-large)) / var(--yw24-items-per-row));
    min-width: min(100%, var(--yw24-item-minimum));
}
.yw24-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: var(--site-space-large);
    border: 1px solid var(--yw24-border-color);
    border-radius: var(--site-radius);
    text-align: start;
}
.yw24-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--site-space-small);
}
.yw24-image {
    width: 100%;
    border-radius: var(--site-radius);
}
.yw24-card-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--site-radius);
}
.yw24-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--site-space-medium);
    margin-block-start: var(--site-space-large);
}
.yw24-section--centered .yw24-actions { justify-content: center; }
.yw24-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--site-space-small);
    max-width: 100%;
    padding: .75rem 1.25rem;
    border: 1px solid var(--site-color-primary);
    border-radius: var(--site-radius);
    color: var(--site-color-dark);
    background: var(--site-color-primary);
    font-family: var(--site-font-heading);
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}
.yw24-button:hover {
    background: var(--site-color-primary-hover);
    border-color: var(--site-color-primary-hover);
}
.yw24-button--outline {
    color: inherit;
    background: transparent;
}
.yw24-button--outline:hover { color: var(--site-color-dark); }
.yw24-button--icon { padding: .75rem; }
.yw24-button:disabled {
    opacity: .5;
    cursor: default;
}

.yw24-header {
    color: var(--site-color-light);
    background: var(--site-color-dark);
    --yw24-focus-color: var(--site-color-primary);
}
.yw24-header__inner,
.yw24-navigation,
.yw24-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--site-space-large);
}
.yw24-header__inner {
    justify-content: space-between;
    padding-block: var(--site-space-medium);
}
.yw24-brand {
    display: block;
    width: 7rem;
    flex: 0 0 7rem;
}
.yw24-menu,
.yw24-submenu,
.yw24-footer__links {
    margin: 0;
    padding: 0;
    list-style: none;
}
/* Previous selector: .yw24-menu a */
.yw24-menu a:not(.yw24-button) {
    display: flex;
    align-items: center;
    gap: var(--site-space-small);
    padding-block: var(--site-space-small);
    text-decoration: none;
}
/* Previous rule: .yw24-menu a:hover { color: var(--site-color-primary); } */
.yw24-menu a:not(.yw24-button):hover { color: var(--site-color-primary); }
.yw24-menu__link--highlighted {
    color: var(--site-color-primary);
    font-weight: 700;
}
/* Previous rule: .yw24-menu__group { position: relative; } */
.yw24-menu__group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.yw24-menu__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: var(--site-space-small);
    border: 0;
    color: inherit;
    background: transparent;
}
.yw24-menu__toggle:hover { color: var(--site-color-primary); }
.yw24-menu__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.yw24-submenu {
    display: none;
    position: absolute;
    z-index: 2;
    min-width: 14rem;
    max-width: calc(100vw - 2 * var(--site-page-gutter));
    padding: var(--site-space-medium);
    border: 1px solid var(--yw24-border-color);
    border-radius: var(--site-radius);
    background: var(--site-color-dark);
}
/* Previous rules: .yw24-menu__group:hover .yw24-submenu, .yw24-menu__group:focus-within .yw24-submenu { display: block; } */
.yw24-menu > .yw24-menu__group > .yw24-submenu { top: 100%; }
.yw24-submenu .yw24-submenu {
    position: static;
    flex-basis: 100%;
    min-width: 0;
    border: 0;
}
.yw24-menu__group[data-open] > .yw24-submenu,
.yw24-navigation:not([data-enhanced]) .yw24-menu__group:focus-within > .yw24-submenu {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .yw24-navigation:not([data-enhanced]) .yw24-menu__group:hover > .yw24-submenu {
        display: block;
    }
}
.yw24-footer {
    padding-block: var(--site-section-space) var(--site-space-large);
    color: var(--site-color-light);
    background: var(--site-color-black);
    --yw24-focus-color: var(--site-color-primary);
}
.yw24-footer__layout,
.yw24-footer__navigation {
    display: flex;
    flex-wrap: wrap;
    gap: var(--site-space-xlarge);
}
.yw24-footer__navigation { flex: 1 1 15rem; }
.yw24-footer__column { flex: 1 1 8rem; }
.yw24-footer__heading { font-size: 1.25rem; }
.yw24-footer__links {
    display: grid;
    gap: var(--site-space-small);
}
.yw24-footer__links a { text-decoration: none; }
.yw24-footer__links a:hover { color: var(--site-color-primary); }
.yw24-newsletter {
    flex: 1 1 18rem;
    min-width: 0;
}
.yw24-form-field {
    display: flex;
    flex-wrap: wrap;
    gap: var(--site-space-small);
}
.yw24-form,
.yw24-form-group {
    display: grid;
    align-content: start;
    gap: var(--site-space-medium);
}
.yw24-input {
    flex: 1 1 12rem;
    min-width: 0;
    width: 100%;
    padding: .75rem;
    border: 1px solid var(--yw24-border-color);
    border-radius: var(--site-radius);
}
.yw24-form-feedback {
    margin-block-start: var(--site-space-small);
    font-size: .875rem;
}
.yw24-form-error { color: #ffb4b4; }
.yw24-form-success { color: #b3e6b3; }
.yw24-footer__copyright {
    margin-block-start: var(--site-space-xlarge);
    padding-block-start: var(--site-space-large);
    border-top: 1px solid var(--yw24-border-color);
    text-align: center;
    font-size: .875rem;
}
.yw24-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* Umbraco editor spans remain content data, not a second utility grid. */
.umb-block-grid__layout-container {
    display: grid;
    grid-template-columns: repeat(var(--umb-block-grid--grid-columns, 12), minmax(0, 1fr));
    gap: var(--site-space-large);
}
.umb-block-grid__layout-item {
    min-width: 0;
    grid-column: span var(--umb-block-grid--item-column-span, 12);
    grid-row: span var(--umb-block-grid--item-row-span, 1);
}
.umb-block-grid__area-container {
    display: grid;
    grid-template-columns: repeat(var(--umb-block-grid--area-grid-columns, 12), minmax(0, 1fr));
    gap: var(--site-space-large);
}
.umb-block-grid__area {
    min-width: 0;
    grid-column: span var(--umb-block-grid--area-column-span, 12);
    grid-row: span var(--umb-block-grid--area-row-span, 1);
}

@media (max-width: 48rem) {
    .umb-block-grid__layout-container,
    .umb-block-grid__area-container {
        grid-template-columns: minmax(0, 1fr);
    }
    .umb-block-grid__layout-item,
    .umb-block-grid__area {
        grid-column: auto;
        grid-row: auto;
    }
    .yw24-submenu {
        /* Previous rule: display: block; */
        position: static;
        flex-basis: 100%;
        min-width: 0;
        border: 0;
    }
    .yw24-menu { align-items: start; }
}
