



/* Template css resource: Core 8 - Fluid - Module responder tabbed - Reserveringen */
.horizontalForm.sidebar fieldset input.error {
border:1px solid red;
}
.horizontalForm.sidebar fieldset fieldset label.error, .horizontalForm fieldset fieldset label.error {
color:red;
}
input.error, textarea.error, select.error {
border:1px solid red;
}
.horizontalForm fieldset fieldset.error  {
color:red;
border:1px solid red;
}
.req{color:red}
fieldset a{color:red;text-decoration:underline}
/* ============================================
Expo Datepicker — Expositiedata veldstijl
Werkt zowel lokaal (label) als live (fieldset) als container
Projectkleuren: #ff0000 · #f4f4f4 · #4a4a4a
Volledig losstaand van overige site-CSS.
============================================ */
.formcontainer form fieldset fieldset label {
padding-right: 0;
}
/* ── Container (alleen label, bijv. lokaal) ──── */
label:has(.res-header) {
display: block;
border: 1px solid #d8d8d8;
border-radius: 6px;
overflow: visible;
background: #ffffff;
width: 100%;
max-width: 100%;
box-sizing: border-box;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.09);
cursor: default;
margin-top: 6px;
}
/* ── Header: pijlen + maandnaam ─────────────── */
label:has(.res-header) .res-header,
fieldset:has(.res-header) .res-header {
display: flex;
align-items: center;
justify-content: space-between;
background: #ff0000;
color: #ffffff;
padding: 10px 14px;
gap: 8px;
user-select: none;
position: relative;
border-radius: 6px 6px 0 0;
}
label:has(.res-header) .res-text,
fieldset:has(.res-header) .res-text {
margin: 0;
font-size: 13px;
font-weight: 700;
text-align: center;
flex: 1;
text-transform: capitalize;
letter-spacing: 0.04em;
}
/* Klikbare maandnaam (picker trigger) */
label:has(.res-header) .expo-text-clickable,
fieldset:has(.res-header) .expo-text-clickable {
cursor: pointer;
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-color: rgba(255, 255, 255, 0.5);
}
label:has(.res-header) .expo-text-clickable:hover,
fieldset:has(.res-header) .expo-text-clickable:hover {
text-decoration-color: #ffffff;
}
/* ── Maand-popup ─────────────────────────────── */
.expo-month-popup {
position: absolute !important;
background: #ffffff !important;
background-color: #ffffff !important;
border: 1px solid #d8d8d8 !important;
border-radius: 6px !important;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
display: flex;
flex-direction: column !important;
gap: 2px !important;
padding: 6px !important;
z-index: 9999 !important;
min-width: 170px !important;
width: auto !important;
max-width: 220px !important;
}
.expo-month-btn {
display: block !important;
width: 100% !important;
padding: 7px 14px !important;
margin: 0 !important;
border: none !important;
border-radius: 4px !important;
background: transparent !important;
background-color: transparent !important;
color: #4a4a4a !important;
font-size: 13px !important;
font-weight: 600 !important;
text-align: left !important;
text-transform: capitalize !important;
cursor: pointer !important;
box-shadow: none !important;
transition: background 0.15s ease, color 0.15s ease;
line-height: 1.4 !important;
letter-spacing: normal !important;
}
.expo-month-btn:hover {
background: #f4f4f4 !important;
background-color: #f4f4f4 !important;
color: #ff0000 !important;
}
.expo-month-btn.active {
background: #ff0000 !important;
background-color: #ff0000 !important;
color: #ffffff !important;
}
/* ── Pijlknoppen ─────────────────────────────── */
label:has(.res-header) .res-prev,
label:has(.res-header) .res-next,
fieldset:has(.res-header) .res-prev,
fieldset:has(.res-header) .res-next {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.30);
border: 1px solid rgba(255, 255, 255, 0.55);
color: #ffffff;
font-size: 14px;
font-weight: bold;
cursor: pointer;
user-select: none;
transition: background 0.18s ease, opacity 0.18s ease;
text-decoration: none;
line-height: 1;
flex-shrink: 0;
}
label:has(.res-header) .res-prev:hover,
label:has(.res-header) .res-next:hover,
fieldset:has(.res-header) .res-prev:hover,
fieldset:has(.res-header) .res-next:hover {
background: rgba(255, 255, 255, 0.38);
}
/* ── Maand-container (elk [id^="res-category-"]) */
label:has(.res-header) [id^="res-category-"],
fieldset:has(.res-header) [id^="res-category-"] {
padding: 10px 14px 14px 14px;
background: #f4f4f4;
}
/* ── Datumrijen (checkboxes) ─────────────────── */
label:has(.res-header) .res-input-label,
fieldset:has(.res-header) .res-input-label {
display: flex;
align-items: center;
flex-wrap: nowrap;
gap: 8px;
padding: 10px 12px;
margin: 6px 0;
border: 1px solid #d8d8d8;
border-radius: 4px;
cursor: pointer;
font-size: 12px;
font-weight: 700;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #4a4a4a;
background: #ffffff;
transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
label:has(.res-header) .res-input-label:hover,
fieldset:has(.res-header) .res-input-label:hover {
background: #ff0000;
border-color: #ff0000;
color: #ffffff;
}
label:has(.res-header) .res-input-label:hover input[type="checkbox"],
fieldset:has(.res-header) .res-input-label:hover input[type="checkbox"] {
accent-color: #ffffff;
outline: 1px solid rgba(255, 255, 255, 0.6);
border-radius: 2px;
}
/* Geselecteerde rij */
label:has(.res-header) .res-input-label:has(input:checked),
fieldset:has(.res-header) .res-input-label:has(input:checked) {
background: #ffffff;
border-color: #ff0000;
border-left-width: 4px;
font-weight: 600;
color: #ff0000;
}
label:has(.res-header) .res-input-label input[type="checkbox"],
fieldset:has(.res-header) .res-input-label input[type="checkbox"] {
width: 16px;
height: 16px;
accent-color: #ff0000;
flex-shrink: 0;
cursor: pointer;
margin: 0;
}
/* ── Verlopen datum (niet selecteerbaar) ─────── */
label:has(.res-header) .res-input-label.expo-past,
fieldset:has(.res-header) .res-input-label.expo-past {
opacity: 0.7;
cursor: not-allowed;
background: #efefef;
border-color: #d0d0d0;
color: #777777;
font-style: italic;
}
label:has(.res-header) .res-input-label.expo-past:hover,
fieldset:has(.res-header) .res-input-label.expo-past:hover {
background: #efefef;
border-color: #d0d0d0;
color: #777777;
}
label:has(.res-header) .res-input-label.expo-past input[type="checkbox"],
fieldset:has(.res-header) .res-input-label.expo-past input[type="checkbox"] {
cursor: not-allowed;
opacity: 0.4;
}
label:has(.res-header) .res-input-label.expo-past .expo-wk,
fieldset:has(.res-header) .res-input-label.expo-past .expo-wk {
background: #aaaaaa;
}
/* ── Fieldset breedte beperken (live site) ───── */
fieldset:has(.res-header) {
max-width: 100%;
box-sizing: border-box;
overflow: hidden;
}
/* ── Mobiel (≤ 600px) ────────────────────────── */
@media (max-width: 600px) {
label:has(.res-header) .res-header,
fieldset:has(.res-header) .res-header {
padding: 8px 10px;
gap: 6px;
}
label:has(.res-header) .res-text,
fieldset:has(.res-header) .res-text {
font-size: 12px;
}
label:has(.res-header) [id^="res-category-"],
fieldset:has(.res-header) [id^="res-category-"] {
padding: 8px 10px 12px 10px;
}
label:has(.res-header) .res-input-label,
fieldset:has(.res-header) .res-input-label {
white-space: normal;
flex-wrap: wrap;
font-size: 11px;
padding: 8px 10px;
gap: 6px;
}
label:has(.res-header) .res-prev,
label:has(.res-header) .res-next,
fieldset:has(.res-header) .res-prev,
fieldset:has(.res-header) .res-next {
width: 24px;
height: 24px;
font-size: 13px;
flex-shrink: 0;
}
}
/* ── Weeknummer badge ────────────────────────── */
.expo-wk {
display: inline-block;
font-size: 10px;
font-weight: 700;
color: #ffffff;
background: #4a4a4a;
border-radius: 3px;
padding: 1px 5px;
white-space: nowrap;
flex-shrink: 0;
letter-spacing: 0.02em;
}
label:has(.res-header) .res-input-label:hover .expo-wk,
fieldset:has(.res-header) .res-input-label:hover .expo-wk {
background: #aaaaaa;
color: #ffffff;
}
label:has(.res-header) .res-input-label:has(input:checked) .expo-wk,
fieldset:has(.res-header) .res-input-label:has(input:checked) .expo-wk {
background: #ff0000;
color: #ffffff;
}
.tabbedForm fieldset fieldset label[for="dates_ver_1"]{
padding-right:0px
}
.horizontalForm fieldset fieldset label {
padding-right: 0px;
}
@media (min-width: 0) and (max-width: 600px) {
.tabbedForm .buttons .button.next{
width: 152px;
padding-left: 10px;
}
.tabbedForm .buttons .button.prev {
text-align: left;
font-size: 0;
padding: 0;
width: 340px;
margin-bottom: 5px;
padding-left: 50px;
}
}
@media (min-width: 0) and (max-width: 1020px) {
.tabbedForm .buttons .button {
margin-top: 0px;
}
}
