/* ============================================================
   TVW — CUSTOM BOEKINGSPAGINA + WIDGET + FACEBOOK v11.12
   v11.12 (op basis van volledige paginabron 12-06-2026):
   (1) WEEKDAG-HEADER: theme rendert ma-zo 3x naast elkaar
   (.weeks-name met 3 Bootstrap-kolommen). Kolom 2+3 nu
   verborgen; kolom 1 als 7-koloms grid, uitgelijnd met het
   datumgrid. ZA/ZO (.is-holiday) paars i.p.v. theme-rood.
   (2) OVERLOOPDAGEN VERBORGEN (.prev-or-next-month):
   klikbare datums uit de volgende maand onder de verkeerde
   maandtitel veroorzaakten verwarring; de maandtitel is
   JS-gerenderd en met CSS niet aanpasbaar, dus de oorzaak
   is weggenomen. Juli bereik je via "Volgende maand".
   (3) Datumbalk al verwijderd in v11.11; bron verklaart de
   zwevende positie: Bootstrap .col-* is position:relative
   en kaapte het absolute anker.
   v11.11 (hardening na "laadt niet goed"):
   (1) ISO-datumbalk (v11.9) VERWIJDERD inclusief de
   has-selector — die is mogelijk niet sanitizer-veilig
   in SimplyBook's custom-CSS-veld en kan stille stripping
   veroorzaken; bovendien overbodig: de verificatiestap
   toont de gekozen datum al als dd-mm-jjjj + tijd.
   (2) Bootstrap-clearfix-pseudo op .weeks-date
   geneutraliseerd (werd een extra flex-item).
   (3) .inner expliciet op width:100%.
   Alleen :is() blijft als moderne selector — die draait
   sinds v11.1 bewezen in productie.
   ----
   v11.10: kalender-layout omgebouwd naar klassiek maandgrid:
   7 dagen naast elkaar per rij (1 rij = 1 week), weken
   onder elkaar, geheel gecentreerd (max 560px). De DOM
   levert weken als Bootstrap-kolommen (.col-* met 7 .date's
   in .inner); elke kolom wordt full-width gezet en de .inner
   wordt een 7-koloms grid. AANTAL weken volgt de data
   (meestal 5, soms 6) — een 6e week verbergen zou boekbare
   dagen verbergen en is bewust NIET gedaan.
   ----
   v11.9: bevestigingsbalk gekozen datum onder de kalender.
   Toont via ::after + attr(data-date) de aangeklikte datum
   ("Gekozen datum: 2026-06-27") in een paarse balk onder
   het hele kalendergrid. LET OP: CSS kan attributen niet
   herformatteren — ISO-notatie (jjjj-mm-dd) is het maximaal
   haalbare zonder JS-toegang. Ruimte onder de kalender
   wordt gereserveerd via :has(.date.selected).
   ----
   DEFINITIEF — ÉÉN BESTAND, DRIE TABBLADEN. De eerdere
   splitsing (apart Facebook-bestand) is teruggedraaid: de
   fbdp-weergave leest vermoedelijk de Widget CSS-tab, niet
   de Facebook-tab. Eén identiek bestand in alle drie de
   tabbladen dekt elke routering. Blok 1 (stappenbalk) is
   in alle weergaven huisstijl-consistent en kan dus veilig
   overal mee.
   v11.8: twee latente bugs gefixt (specificiteits-audit):
   (1) .btn-danger uitgesloten van de paarse knopregel —
   :not()-classes telden mee waardoor (0,4,0) won van
   .btn.btn-danger (0,2,0) en annuleerknoppen paars werden;
   (2) videocall-kader (blok 5, item 1) nu !important —
   verloor anders van de grijze !important-rand uit blok 4.
   v11.7: nieuw blok 1 — STAPPENBALK + ROOD-KILLERS. Het
   standaard-theme heeft hardcoded rood (niet instelbaar in
   Design settings); zichtbaar in de fbdp/Facebook-weergave
   waar geen embed theme_settings meekomen. Stappenbalk
   (li.step_info_item, devtools-verificatie 11-06-2026):
   actieve stap gevuld #501e74/wit, overige stappen tint
   #f5f0fa/paars. Theme-chevrons (::before/::after) bewust
   uitgezet: flat segmenten met lichte scheiding — zo kan er
   nooit een rode pijlpunt achterblijven, ongeacht hoe het
   theme de pijlen tekent. Daarnaast: .read-more en links in
   de vestigingskaarten geforceerd paars.
   v11.6: identiek aan v11.5, nu ook voor het Facebook
   CSS-tabblad. Reden: de Facebook-flow opent de v2-client
   (widget-type=fbdp) met exact dezelfde DOM als de
   boekingspagina; het legacy-skelet in dat tabblad is
   alleen een suggestie. Dit bestand dekt daarmee óók de
   pin/placeholder (sectie 2) en alle paarse styling in de
   Facebook-weergave, waar de embed-settings (o.a.
   hide_img_mode) niet meegegeven worden.
   v11.5: tijdslots toegevoegd op de ECHTE slot-DOM
   (devtools-verificatie 11-06-2026): slots = a.sb-cell.free
   binnen #sb_time_slots_container. De kale .sb-cell.free uit
   eerdere versies verloor de specificiteitsstrijd van het
   theme; nu gescoped naar de container. Legenda-bolletje
   (.time-legend .available .circle) kleurt mee. Busy-regel
   opgenomen voor layouts die volle slots wél tonen.
   v11.4: kalender (datumkiezer) op echte DOM: beschikbare
   dag = a.day-on.sb-available-date, niet beschikbaar =
   span.day-off, geselecteerd = div.date.selected, vandaag =
   div.date.today. Generieke .sb-cell-gokjes uit v11.3
   verwijderd. Bewust GEEN borders/padding op dagcellen om
   layoutverschuiving te voorkomen.
   v11.3: eerste poging kalender-styling (vervangen).
   v11.2: extra categorie "Binnenkort open" op positie 24
   (de kaarten ná Overijssel en Drenthe, o.a. nog te openen
   vestigingen achteraan de providerlijst).
   v11.1: sectie 5 geldt nu voor de provider-stap ÉN de
   location-stap (locations-plugin staat aan; op de
   boekingspagina kunnen de vestigingen als locations
   renderen i.p.v. providers).
   Plak dit VOLLEDIGE bestand in ALLE DRIE tabbladen:
   Custom Features -> Custom CSS -> "Booking page CSS",
   "Widget CSS" én "Facebook CSS". Vervang telkens de
   volledige inhoud (legacy-skelet in de Facebook-tab mag
   weg) — zo blijven alle weergaven altijd identiek.

   Sectie 5 = de in de iframe-widget werkende en gekalibreerde
   grid (posities 2/6/10/13/15/21, tintbalken, video call-kader),
   1-op-1 overgenomen — alleen GESCOPED naar
   :is(#sb_provider_step_container, #sb_location_step_container). Reden: op de volledige
   boekingspagina matcht een kale ".item" óók de dienstenkaarten,
   winkelwagen en boekingsresultaten. Ongescoped zou
   "Zuid-Holland" dan boven een dienst verschijnen en zou
   *:has(> .item) ook die containers in een grid dwingen.
   Binnen de widget verandert er door het scopen niets.

   Hero (#main-buttons): volledig ongemoeid.
   ============================================================ */


/* ===== 0. BASIS — TVW-HUISSTIJL ===== */

body {
	background: #faf9fc !important;
	color: #2b2b2b;
	-webkit-font-smoothing: antialiased;
}

h2, h3, h4, .title-main {
	font-family: Georgia, "Times New Roman", serif;
	color: #501e74;
	line-height: 1.25;
}

a {
	color: #501e74;
}
a:hover {
	color: #3a1555;
}

.btn:not(.btn--link):not(.read-more):not(.btn-hide):not(.btn-danger),
button[type="submit"],
input[type="submit"] {
	background-color: #501e74;
	color: #fff;
	border-color: #501e74;
	border-radius: 8px;
	font-weight: 700;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.btn:not(.btn--link):not(.read-more):not(.btn-hide):not(.btn-danger):hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	background-color: #3a1555;
	color: #fff;
	box-shadow: 0 4px 14px rgba(80, 30, 116, 0.25);
}

/* Annuleer-/uitlogknoppen behouden waarschuwingskleur */
.btn.btn-danger {
	background-color: #b3392f;
	border-color: #b3392f;
	color: #fff;
}
.btn.btn-danger:hover {
	background-color: #8f2d25;
	box-shadow: 0 4px 14px rgba(179, 57, 47, 0.25);
}

input.form-control,
select.form-control,
textarea.form-control {
	background: #fff;
	border: 1px solid #d9cfe6 !important;
	border-radius: 8px !important;
	color: #2b2b2b;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus {
	border-color: #501e74 !important;
	box-shadow: 0 0 0 3px rgba(80, 30, 116, 0.15);
	outline: none;
}

a:focus-visible,
.btn:focus-visible,
button:focus-visible {
	outline: 2px solid #501e74;
	outline-offset: 2px;
}

::-webkit-scrollbar {
	width: 10px;
}
::-webkit-scrollbar-track {
	background: #f5f0fa;
}
::-webkit-scrollbar-thumb {
	background: #c9b6dd;
	border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
	background: #501e74;
}


/* ===== 0b. KALENDER (datumkiezer) =====
   Op echte DOM: .weeks-date > .date > a.day-on / span.day-off.
   Beschikbaar = lichtpaars vlak, donkerpaars cijfer.
   Geselecteerd = gevulde paarse knop, wit cijfer.
   Niet beschikbaar = neutraal grijs, bewust laag contrast.
   Geen borders/padding: voorkomt layoutverschuiving in het
   bestaande weekgrid. */

/* Beschikbare dag */
.weeks-date .date a.day-on,
.weeks-date .date a.sb-available-date {
	display: inline-block;
	background: #f5f0fa;
	color: #501e74 !important;
	font-weight: 700;
	border-radius: 6px;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}
.weeks-date .date a.day-on:hover,
.weeks-date .date a.sb-available-date:hover {
	background: #e3d9ef;
	color: #3a1555 !important;
}

/* Geselecteerde dag: volledig gevulde paarse knop */
.weeks-date .date.selected a.day-on,
.weeks-date .date.selected a.sb-available-date {
	background: #501e74 !important;
	color: #fff !important;
	font-weight: 700;
}
.weeks-date .date.selected a.day-on:hover,
.weeks-date .date.selected a.sb-available-date:hover {
	background: #3a1555 !important;
	color: #fff !important;
}

/* Niet beschikbaar: nadrukkelijk neutraal grijs, géén paars */
.weeks-date .date span.day-off {
	background: transparent;
	color: #b8b8b8 !important;
	font-weight: 400;
}

/* Dagen buiten de huidige maand nóg verder terug */
.weeks-date .date.prev-or-next-month span.day-off {
	color: #d4d4d4 !important;
}

/* Vandaag (indien niet beschikbaar): subtiele marker, geen paars */
.weeks-date .date.today span.day-off {
	color: #8a8a8a !important;
	font-weight: 700;
}

/* --- Weekdag-header (ma t/m zo), uitgelijnd met het grid --- */
.weeks-name {
	max-width: 560px;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 4px;
}
.weeks-name::before,
.weeks-name::after {
	display: none !important;
}
/* Theme rendert de dagnamen 3x (voor de oude 3-koloms
   layout): kolom 2 en 3 uit, kolom 1 full-width grid. */
.weeks-name > [class*="col-"]:not(:first-child) {
	display: none !important;
}
.weeks-name > [class*="col-"]:first-child {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
}
.weeks-name .inner {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
	width: 100%;
}
.weeks-name .name {
	text-align: center;
	font-weight: 700;
	font-size: 13px;
	color: #2b2b2b;
	border-bottom: 2px solid #e3d9ef;
	padding-bottom: 6px;
}
.weeks-name .name.is-holiday {
	color: #501e74;
	border-bottom-color: #501e74;
}

/* --- Overloopdagen (vorige/volgende maand) verbergen:
   voorkomt klikbare datums onder de verkeerde maandtitel.
   visibility (geen display): grid-uitlijning blijft intact. --- */
.weeks-date .date.prev-or-next-month {
	visibility: hidden;
	pointer-events: none;
}

/* --- Maandgrid-layout: 1 rij per week, gecentreerd --- */
.weeks-date {
	display: flex !important;
	flex-direction: column;
	max-width: 560px;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 12px;
}
/* Bootstrap-clearfix wordt in flex een spook-item: uit */
.weeks-date::before,
.weeks-date::after {
	display: none !important;
}
.weeks-date > [class*="col-"] {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 auto;
	padding: 0 !important;
}
.weeks-date .inner {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
	margin-bottom: 6px;
	width: 100%;
}
.weeks-date .date {
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 44px;
	float: none !important;
	width: auto !important;
}
.weeks-date .date a.day-on,
.weeks-date .date span.day-off {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 44px;
}



/* --- Tijdslots (#sb_time_slots_container) --- */

/* Beschikbaar tijdslot: lichtpaars, donkerpaarse tijd */
#sb_time_slots_container .slot a.sb-cell.free {
	background: #f5f0fa;
	border: 1px solid #e3d9ef;
	color: #501e74 !important;
	font-weight: 700;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease;
}
#sb_time_slots_container .slot a.sb-cell.free .end-time {
	color: inherit;
	font-weight: 400;
}
#sb_time_slots_container .slot a.sb-cell.free:hover {
	background: #501e74;
	border-color: #501e74;
	color: #fff !important;
}

/* Geselecteerd / actief tijdslot: gevulde paarse knop */
#sb_time_slots_container .slot a.sb-cell.free.selected,
#sb_time_slots_container .slot a.sb-cell.free.active,
#sb_time_slots_container .slot a.sb-cell.selected {
	background: #501e74 !important;
	border-color: #501e74 !important;
	color: #fff !important;
}

/* Vol/niet beschikbaar slot (alleen zichtbaar in layouts
   die volle slots tonen): neutraal grijs, géén paars */
#sb_time_slots_container .slot a.sb-cell.busy,
#sb_time_slots_container .slot span.sb-cell.busy {
	background: #f2f2f2 !important;
	border: 1px solid #e0e0e0 !important;
	color: #9a9a9a !important;
	font-weight: 400;
	border-radius: 8px;
	cursor: default;
	pointer-events: none;
}

/* Legenda: bolletje "Beschikbaar" in dezelfde kleur */
.time-legend .available .circle {
	background: #f5f0fa !important;
	border: 1px solid #501e74 !important;
}


/* ===== 1. STAPPENBALK + ROOD-KILLERS =====
   Het theme kleurt de stappenbalk en diverse links hardcoded
   rood; hieronder volledig overgenomen in huisstijl. */

/* Stappenbalk: actieve stap gevuld paars, rest lichtpaars.
   Theme-chevrons uit: flat segmenten, geen rode pijlpunten. */
li.step_info_item {
	background: #f5f0fa !important;
	border-right: 2px solid #faf9fc;
}
li.step_info_item::before,
li.step_info_item::after,
li.step_info_item a::before,
li.step_info_item a::after {
	display: none !important;
}
li.step_info_item a {
	background: transparent !important;
	text-decoration: none;
}
li.step_info_item .title-small,
li.step_info_item .title-sub {
	color: #501e74 !important;
	font-weight: 700;
}
li.step_info_item a:hover .title-small {
	color: #3a1555 !important;
}
li.step_info_item.active {
	background: #501e74 !important;
}
li.step_info_item.active .title-small,
li.step_info_item.active .title-sub,
li.step_info_item.active a:hover .title-small {
	color: #fff !important;
}

/* "Lees meer" en links in de vestigingskaarten: paars i.p.v.
   theme-rood. Knoppen expliciet uitgezonderd. */
.read-more,
a.read-more {
	color: #501e74 !important;
}
.read-more:hover,
a.read-more:hover {
	color: #3a1555 !important;
}
.step-content .item a:not(.btn):not(.book),
.item__description a,
.item address a {
	color: #501e74 !important;
}
.step-content .item a:not(.btn):not(.book):hover {
	color: #3a1555 !important;
}


/* ===== 2. PIN / PLACEHOLDER VERBERGEN ===== */
.item__picture--default {
	display: none !important;
}


/* ===== 3. OMSCHRIJVING (#about-us) ===== */
#about-us .section-pd {
	padding-top: 26px;
}
#about-us .title-main,
#about-us h3.title {
	font-family: Georgia, "Times New Roman", serif;
	color: #501e74;
	border-bottom: 2px solid #501e74;
	padding-bottom: 6px;
	margin-bottom: 16px;
}
#about-us .txt {
	font-size: 15.5px;
	line-height: 1.65;
	color: #2b2b2b;
}


/* ===== 4. KAARTEN (diensten / vestigingen) ===== */
.step-content .item {
	background: #fff;
	border: 1px solid #e3d9ef !important;
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(80, 30, 116, 0.06);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.step-content .item:hover {
	border-color: #501e74 !important;
	box-shadow: 0 6px 18px rgba(80, 30, 116, 0.14);
}
.step-content .item .title {
	font-family: Georgia, "Times New Roman", serif;
	color: #501e74;
}
.step-content .item__description {
	font-size: 14.5px;
	line-height: 1.55;
	color: #555;
}


/* ===== 5. VESTIGINGENLIJST: GRID + PROVINCIE-BALKEN =====
   1-op-1 de werkende widget-versie, gescoped naar de
   providerstap. Posities 2/6/10/13/15/21 NIET wijzigen
   zonder de live volgorde opnieuw te tellen. */

/* Zoekfilter verbergen: wegfilteren van kaarten laat de
   nth-child balken op verkeerde vestigingen landen. */
.filter.filter__booking-step {
	display: none !important;
}

:is(#sb_provider_step_container, #sb_location_step_container) {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 18px 20px;
	max-width: 980px;
	margin-left: auto !important;
	margin-right: auto !important;
}
:is(#sb_provider_step_container, #sb_location_step_container) .item {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	height: auto !important;
	margin: 0 !important;
	overflow: visible;
}
:is(#sb_provider_step_container, #sb_location_step_container) .item .item__content {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}
:is(#sb_provider_step_container, #sb_location_step_container) .item .item__content .item__description.short {
	flex: 1 1 auto;
}

/* --- Video call (item 1): volledige breedte, eigen kader --- */
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(1) {
	grid-column: 1 / -1;
	border: 1.5px solid #501e74 !important;
	border-radius: 10px;
	padding: 14px 16px 16px;
	margin: 0 0 38px 0 !important;
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(1)::before {
	content: "Liever online? Plan een video call";
	display: block;
	width: 100%;
	box-sizing: border-box;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.3;
	color: #501e74;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 10px 0;
	padding: 0;
	text-align: left;
}

/* --- Kolomstart + ruimte voor de balken --- */
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(2),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(6),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(10),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(13),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(15),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(21),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(24) {
	grid-column: 1;
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(6),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(10),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(13),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(15),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(21),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(24) {
	margin-top: 38px !important;
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(3) {
	margin-top: 66px !important;
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(7),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(11),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(14),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(16),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(22),
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(25) {
	margin-top: 104px !important;
}

/* --- Provincie-balken --- */
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(2)::before {
	content: "Zuid-Holland";
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(6)::before {
	content: "Noord-Brabant";
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(10)::before {
	content: "Noord-Holland en Flevoland";
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(13)::before {
	content: "Utrecht";
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(15)::before {
	content: "Gelderland";
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(21)::before {
	content: "Overijssel en Drenthe";
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(24)::before {
	content: "Binnenkort open";
}
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(2)::before,
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(6)::before,
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(10)::before,
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(13)::before,
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(15)::before,
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(21)::before,
:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(24)::before {
	display: block;
	width: calc(200% + 20px);
	height: 48px;
	line-height: 48px;
	box-sizing: border-box;
	flex: 0 0 auto;
	white-space: nowrap;
	overflow: hidden;
	background: #f2ecf7;
	color: #501e74;
	border-left: 6px solid #501e74;
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0 16px;
	border-radius: 0 8px 8px 0;
	margin: 0 0 18px 0;
	text-align: left;
}


/* ===== 6. MOBIEL ===== */
@media (max-width: 700px) {
	.weeks-date .inner {
		gap: 4px;
		margin-bottom: 4px;
	}
	.weeks-date .date {
		min-height: 38px;
	}
	.weeks-date .date a.day-on,
	.weeks-date .date span.day-off {
		height: 38px;
		font-size: 14px;
	}
	:is(#sb_provider_step_container, #sb_location_step_container) {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(1) {
		padding: 12px 12px 14px;
		margin-bottom: 30px !important;
	}
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(1)::before {
		font-size: 14px;
	}
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(3),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(7),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(11),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(14),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(16),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(22),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(25) {
		margin-top: 0 !important;
	}
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(6),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(10),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(13),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(15),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(21),
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(24) {
		margin-top: 24px !important;
	}
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(2)::before,
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(6)::before,
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(10)::before,
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(13)::before,
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(15)::before,
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(21)::before,
	:is(#sb_provider_step_container, #sb_location_step_container) .item:nth-child(24)::before {
		width: 100%;
		height: auto;
		line-height: 1.3;
		white-space: normal;
		font-size: 14px;
		padding: 10px 12px;
		margin: 0 0 14px 0;
	}
}