*, *::before, *::after {
    box-sizing: border-box;
}
* {
    margin: 0;
}
body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}
input, button, textarea, select {
    font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
}
#root, #__next {
    isolation: isolate;
}

.pt-calendar {
    > header {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    header h1 {
        font-size: 1.2rem;
    }
}

.pt-calendar .monthly-calendar {
    border-collapse: collapse;
    border-spacing: 0; 
    border: 1px solid black;
    width: 100%;
    table-layout: fixed;
    td, th {
        padding: 0.5rem;
        border: 1px solid #00000020;
    }
    .weekend {
        background-color: #00000010;
    }
    .day span {
        display: inline-block;
        width: 2em;
        height: 2em;
        line-height: 2em;
        text-align: center;
    }
    .today span {
        color: white;
        font-weight: 500;
        background-color: red;
        border-radius: 100%;
    }
    .selected span {
        color: white;
        font-weight: 500;
        background-color: black;
        border-radius: 100%;
    }
    .out-of-range {
        color: #00000040;
    } 
    
    .disabled {
        color: #00000030;
    }
}

.pt-calendar .pt-weekly-calendar, .pt-calendar .pt-daily-calendar {
    display: flex;
    flex-direction: row;
    .pt-day {
        flex: 1;
    }
    .pt-day > header{
        border: 1px solid #00000020;
        text-align: center;
        font-weight: 700;
    }
    .pt-timeslots {
        padding: 0;
    }
    .pt-timeslots li {
        list-style-type: none;
        min-height: 2rem;
        border: 1px solid #00000020;
    }
    .events {
        padding: 0;
    }
    .events > li {
        list-style-type: none;
        padding: 0.2em;
        border: 1px solid #232f3130;
        background-color: #95daec90;
        border-radius: 0.4rem;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .events > li.selected {
        border: 3px solid #232f3190;
    }
}

.pt-daily-calendar {
    .pt-day{
        display: grid;
        grid-template-areas: "dayheader dayheader"
        ". header"
        "time-gutter timeslots";
        grid-template-columns: 4rem 1fr;
    }
    .pt-day-header {
        grid-area: dayheader;
    }
    .pt-calendar-items-header {
        grid-area: header;
    }
    .pt-time-gutter {
        grid-area: time-gutter;
    }
    .pt-calendar-items {
        grid-area: timeslots;
    }
}

.pt-resource-calendar {
    .pt-calendar-items-header {
        display: flex;
        align-items: stretch;
    }
    .pt-calendar-items-header > *, .pt-calendar-resource {
        flex: 1;
    }
    .pt-calendar-resources {
        list-style-type: none;
        padding: 0;
        display: flex;
        align-items: stretch;
    }
}

.reservation-calendar .info {
    margin-block-end: 1.5em;
}
dialog {
    padding: 0;
    > div {
        padding: 1em;
    }
    .dialog-actions {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 0.5rem;
    }
}
/*@import url('http://www.pagony.local/resources/templates/default/assets/booq/css/program-calendar.css?v=1709674128');
@import url('http://www.pagony.local/resources/templates/default/assets/rumini/css/style.css?v=1675760614');*/

.pt-calendar .pager {
  grid-area: pager;
}
.pt-calendar .pager li {
  margin-inline-end: 3px;
}
.pt-calendar-title {
  grid-area: title;
}

.pt-calendar .legend {
  grid-area: legend;
}

.pt-monthly-calendar {
  width: 100%;
  text-align: left;
  border: 1px solid #cac7c1;
  background: #fff;
  border-bottom: none;
  border-right: none;
  margin: 2em 0 3.6em 0;
  font-size: 0.95em;
  border-collapse: collapse;
  position:relative;
}

.pt-monthly-calendar .date-label {
  position: absolute;
  top: 5px;
  left: 8px;
  font-size: 13px;
  text-align: left;
  color: #545d69;
}

.pt-day {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-areas: 'gutter-header header'
    'gutter rooms';
}

.pt-day li {
  list-style-type: none;
}

.pt-day-header, .pt-resource-header {
  background-color: rgba(202, 199, 193, 0.15);
  border-right: 1px solid #cac7c1;
  border-bottom: 1px solid #cac7c1;
  padding: 15px 10px;
  vertical-align: middle;
  font-weight: normal;
  font-family: "Teko", sans-serif;
  font-size: 1.35em;
  text-align: center;
}

.pt-day ol, .pt-day ul {
  margin: 0;
  padding: 0;
}

.booking-dialog {
  padding: 0;
}

.day-header {
  text-transform: capitalize;
  background-color: rgba(202, 199, 193, 0.15);
  border-right: 1px solid #cac7c1;
  border-bottom: 1px solid #cac7c1;
  padding: 10px 5px 10px 8px;
  vertical-align: middle;
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
  font-family: "Teko", sans-serif;
  font-size: 1.35em;
}
.day {
  border-bottom: 1px solid #cac7c1;
  border-right: 1px solid #cac7c1;
  padding: 35px 5px 30px 5px;
  vertical-align: middle;
  text-align: center;
  position: relative;
  &.past {
    background: rgba(0,0,0,.015);
  }
}
.pt-with-link {
	all: unset;
	cursor: pointer;
}
@layer ui-components.pt-form {
    .pt-icon-field {
        position: relative;
    }
    .pt-icon-field input {
        width: 100%;
    }
    .pt-icon-field .pt-icon {
        cursor: pointer;
        height: var(--form-input-height, 2rem);
        width: var(--form-input-height, 2rem);
        position: absolute;
        top: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}
@layer ui-components.pt-dialog {
    .pt-dialog {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 100;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }
    .pt-dialog-overlay {
        background-color: var(--overlay-color, black);
        opacity: var(--overlay-opacity, 0.3);
        position: fixed;
        z-index: 99;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
    .pt-dialog .pt-btn-action-close {
        color: var(--btn-tertiary-color, white);
        background-color: var(--btn-tertiary-bckg-color, rgba(0,0,0,0.3));
        border: 0;
        border-radius: 50%;
        padding: 0.5em;
        position: absolute;
        top: 0.5em;
        right: 0.5em;
    }
}

.pt-toolbar.floating {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    opacity: 0;
}
.pt-carousel-track {
	--pt-carousel-gap: var(--carousel-gap, 1em); /* needs unit */
	--pt-carousel-margin: var(--carousel-margin, 0px);
	--pt-carousel-item-width: calc(
		100cqw / var(--carousel-item-count, 4) -
			(var(--pt-carousel-gap) * (1 - (1/var(--carousel-item-count, 4))))
	);
}

.pt-carousel {
	position: relative;
	.pt-carousel-track {
		scrollbar-width: none; /* Firefox */
		-ms-overflow-style: none; /* Internet Explorer 10+ */
		&::-webkit-scrollbar {
			display: none;
		}
		overflow-x: auto;
		display: flex;
		gap: var(
			--pt-carousel-gap
		) !important; /* Override any gap set internally */
		margin: var(--pt-carousel-margin);
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		container-type: inline-size;
	}
	.pt-carousel-track > * {
		flex: 0 0 var(--pt-carousel-item-width);
		/*scroll-snap-align: start;*/
		box-sizing: border-box;
	}
}

.pt-calendar-resource {
    .pt-resource-calendar {
        width: 100%;
        text-align: left;
        border: 1px solid #cac7c1;
        background: #fff;
        border-bottom: none;
        border-right: none;
        margin: 2em 0 3.6em 0;
        font-size: 0.95em;
        border-collapse: collapse;
    }
    .pt-time-gutter {
        padding: 15px 10px;
    }
    .pt-calendar-resource-time-slot .pt-calendar-resource-slot {
        align-items: center;
        justify-content: center;
        justify-items: center;
        display: grid;
    }
}
.radio-option {
    display: flex;
    cursor: pointer;
    span:has(input[type="radio"]) {
        input {
            position: absolute;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }
        &:before {
            display: inline-block;
            content: "";
            border: 1px solid #000;
            border-radius: 100%;
            width: 13px;
            height: 13px;
            margin-right: .25rem;
        }
        &:has(input[type="radio"]:checked) {
            &:before {
                background-color: #000;
                background: radial-gradient(circle,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 41%, rgba(255, 255, 255, 0) 100%);
            }
        }
    }
    span.label {
        flex-grow: 1;
    }
}
.confirm-dialog {
    .dialog-actions {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        gap: 0.5rem;
    }
}
.booking-summary {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
dialog.booking-cart {
    overflow: hidden;
    padding: 0;
    > div {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        .booking {
            max-height: clamp(80vh, 100vh, 2rem);
            overflow: auto;
        }
    }
}
.booking-cart-button {
    .booking-cart-indicator {
        display: inline-block;
        margin-left: .25rem;
        &:before {
            content: "(";
        }
        &:after {
            content: ")";
        }
    }
}
.booking-item {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    border: 1px solid #000;
    margin: .75rem 0;
    padding: .75rem;
    > div {
        margin: 0.5rem;
        flex-grow: 0;
    }
    .name, .category {
        width: 100%;
        margin: 0.25rem 0 0.5rem 0;
    }
    .time {
        flex-grow: 1;
    }
}
@layer pentu-ui.layout.pt-agent {
	.pt-agent {
		display: grid;
		grid-template-areas: "title title" "lastname firstname" "email phone" "submit submit";
		.pt-card-title {
			grid-area: title;
		}
		.pt-form-field {
			&:nth-child(2) {
				grid-area: lastname;
			}
			&:nth-child(3) {
				grid-area: firstname;
			}
			&:nth-child(4) {
				grid-area: email;
			}
			&:nth-child(5) {
				grid-area: phone;
			}
		}
	}
}

@layer pentu-ui.layout.pt-invoice {
	.pt-invoice {
		display: grid;
		grid-template-areas:
			"title title title"
			"component_type component_type component_type"
			"name name name"
			"taxcountry taxcountry taxcountry"
			"postcode city address"
			"comment comment comment"
			"submit submit submit";

		&:has(.field-taxid) {
			grid-template-areas:
				"title title title"
				"component_type component_type component_type"
				"taxcountry taxid taxid"
				"name name name"
				"postcode city address"
				"comment comment comment"
				"submit submit submit";

			&:has(.field-eu_taxid) {
				grid-template-areas:
					"title title title"
					"component_type component_type component_type"
					"taxcountry taxid taxid"
					"eu_taxid eu_taxid eu_taxid"
					"name name name"
					"postcode city address"
					"comment comment comment"
					"submit submit submit";
			}

			&:has([name="country"][value="348"]) {
				grid-template-areas:
					"title title title"
					"component_type component_type component_type"
					"taxcountry taxid taxid"
					"name name name"
					"postcode city address"
					"comment comment comment"
					"submit submit submit";
			}

			&:has(.field-group_taxid) {
				grid-template-areas:
					"title title title"
					"component_type component_type component_type"
					"taxcountry taxid taxid"
					"group_taxid group_id eu_taxid"
					"name name name"
					"postcode city address"
					"comment comment comment"
					"submit submit submit";

				&:has([name="country"][value="348"]) {
					grid-template-areas:
						"title title title"
						"component_type component_type component_type"
						"taxcountry taxid taxid"
						"group_taxid group_id group_id"
						"name name name"
						"postcode city address"
						"comment comment comment"
						"submit submit submit";
				}
			}

			&:has([name="country"][value="348"]) {
				.pt-form-field {
					&:has(.field-eu_taxid) {
						display: none;
					}
				}
			}
		}

		.pt-card-title {
			grid-area: title;
		}

		.pt-component-type-field {
			grid-area: component_type;
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			grid-template-rows: 1fr;
		}

		.pt-component-type {
			display: flex;
			flex-direction: row-reverse;
			justify-content: flex-end;
			align-items: center;
		}

		.pt-form-field {
			&:has(.field-country) {
				grid-area: taxcountry;
			}

			&:has(.field-taxid) {
				grid-area: taxid;
			}

			&:has(.field-group_taxid) {
				grid-area: group_taxid;
			}

			&:has(.field-group_id) {
				grid-area: group_id;
			}

			&:has(.field-eu_taxid) {
				grid-area: eu_taxid;
			}

			&:has(.field-to_name) {
				grid-area: name;
			}

			&:has(.field-postcode) {
				grid-area: postcode;
			}

			&:has(.field-city) {
				grid-area: city;
			}

			&:has(.field-address) {
				grid-area: address;
			}

			&:has(.field-comment) {
				grid-area: comment;
			}
		}
	}
}
@layer pentu-ui.pt-voucher-payment {
}
@layer pentu-ui.layout.pt-payment {
	.pt-payment {
		.pt-form-field {
			.pt-payment-method {
				display: flex;
				flex-direction: row-reverse;
				justify-content: flex-end;
				align-items: center;
			}
		}
	}

}
@layer pentu-ui.layout.pt-shipping {
	.pt-shipping {
		display: flex;
		flex-direction: column;

		.pt-shipping-method {
			display: flex;
			flex-direction: row-reverse;
			justify-content: flex-end;
			align-items: center;
		}

		.pt-shipping-provider-furgefutar,
		.pt-shipping-provider-MPL {
			display: grid;
			grid-template-areas:
				"contact contact contact contact"
				"email email telnum telnum"
				"country country country country"
				"postcode city address address"
				"request request request request"
				"submit submit submit submit";
			grid-template-columns: 1fr 2fr 3fr 1fr;
		}
		.pt-shipping-provider-furgefutarpoint,
		.pt-shipping-provider-MPLPoint {
			display: grid;
			grid-template-areas:
				"contact contact contact contact"
				"email email telnum telnum"
				"city city point point"
				"submit submit submit submit";
			grid-template-columns: 1fr 2fr 3fr 1fr;
		}
		.pt-shipping-provider-personalpickup {
			display: grid;
			grid-template-areas:
				"contact contact contact contact"
				"email email telnum telnum"
				"location location location location"
				"submit submit submit submit";
			grid-template-columns: 1fr 2fr 3fr 1fr;
		}
		.pt-shipping-provider:empty {
			display: none;
		}
		.pt-form-field {
			&:has(.field-contact) {
				grid-area: contact;
			}
			&:has(.field-telnum) {
				grid-area: telnum;
			}
			&:has(.field-email) {
				grid-area: email;
			}
			&:has(.field-country) {
				grid-area: country;
			}
			&:has(.field-postcode) {
				grid-area: postcode;
			}
			&:has(.field-city) {
				grid-area: city;
			}
			&:has(.field-address) {
				grid-area: address;
			}
			&:has(.field-request) {
				grid-area: request;
			}
			&:has(.field-point) {
				grid-area: point;
			}
			&:has(.field-location) {
				grid-area: location;
			}
		}
	}

}
.pt-calendar .pager {
  grid-area: pager;
}
.pt-calendar .pager li {
  margin-inline-end: 3px;
}
.pt-calendar-title {
  grid-area: title;
}

.pt-calendar .legend {
  grid-area: legend;
}

.pt-calendar-pager button .label {
  display: none;
}

.pt-calendar-pager .pt-back-btn::before {
  content: "<";
}

.pt-calendar-pager .pt-next-btn::before {
  content: ">";
}

.pt-monthly-calendar {
  width: 100%;
  text-align: left;
  border: 1px solid #cac7c1;
  background: #fff;
  border-bottom: none;
  border-right: none;
  margin: 2em 0 3.6em 0;
  font-size: 0.95em;
  border-collapse: collapse;
  position:relative;

  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-column-gap: 0;
  grid-row-gap: 0;

  .day-header:nth-child(-n+14) {
      display: block;
  }
  .day-header {
    order: 0;
    display: none;
  }
  .day {
    order: 1;
  }
}

.pt-monthly-calendar .date-label {
  margin: 5px 8px;
  font-size: 13px;
  text-align: left;
  color: #545d69;
}

.pt-day-header, .pt-resource-header {
  background-color: rgba(202, 199, 193, 0.15);
  border-right: 1px solid #cac7c1;
  border-bottom: 1px solid #cac7c1;
  padding: 15px 10px;
  vertical-align: middle;
  font-weight: normal;
  font-family: "Teko", sans-serif;
  font-size: 1.35em;
  text-align: center;
}

.day-header {
  text-transform: capitalize;
  background-color: rgba(202, 199, 193, 0.15);
  border-right: 1px solid #cac7c1;
  border-bottom: 1px solid #cac7c1;
  padding: 10px 5px 10px 8px;
  vertical-align: middle;
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
  font-family: "Teko", sans-serif;
  font-size: 1.35em;
}
.day {
  border-bottom: 1px solid #cac7c1;
  border-right: 1px solid #cac7c1;
  padding: 35px 5px 30px 5px;
  vertical-align: middle;
  text-align: center;
  position: relative;
}

.pt-resource-calendar, .pt-event-calendar {

  .pt-monthly-calendar {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      grid-column-gap: 0;
      grid-row-gap: 0;
      .day-header {
        order: 0;
        display: none;
      }
      .day {
        order: 1;
      }
      .day-header:nth-child(-n+14) {
        display: block;
      }
  }

  .pt-weekly-calendar {
    display: grid;
    &:has(.pt-day-header) {
      grid-template-columns: repeat(var(--days), 1fr);
      &:has(> .pt-time-gutter) {
        grid-template-columns: 1fr repeat(var(--days), 10fr);
      }
    }
    &:has(.pt-day-header:not(~ .pt-day-header)) {
      --days: 1;
    }
    &:has(.pt-day-header ~ .pt-day-header) {
      --days: 2;
    }
    &:has(.pt-day-header ~ .pt-day-header ~ .pt-day-header) {
      --days: 3;
    }
    &:has(.pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header) {
      --days: 4;
    }
    &:has(.pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header) {
      --days: 5;
    }
    &:has(.pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header) {
      --days: 6;
    }
    &:has(.pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header ~ .pt-day-header) {
      --days: 7;
    }
  }

  .pt-time-gutter {
    display: flex;
    grid-column-start: 1;
    grid-column-end: 1;
    grid-row-end: auto;
    grid-row-start: 2;

      /*
      old (but new) nested css freeze chrome 2025-02-13 :-)
      Array.from({ length: 24 }, (_, i) => i).reduce((all, c, idx, array) => `
      ~.pt-time-gutter {
          grid-row-start: ${array.length - c + 2};
          ${all}
      }`, ``);
      */
      /*
      Array.from({ length: 24 }, (_, i) => i).reduce((all, c, idx, array) => `
      ${' ~.pt-time-gutter'.repeat(array.length - c)} {
          grid-row-start: ${array.length - c + 2};
      }${all}`, ``);
      */
      ~.pt-time-gutter {
          grid-row-start: 3;
      }
      ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 4;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 5;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 6;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 7;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 8;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 9;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 10;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 11;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 12;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 13;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 14;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 15;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 16;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 17;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 18;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 19;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 20;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 21;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 22;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 23;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 24;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 25;
      }
      ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter ~.pt-time-gutter {
          grid-row-start: 26;
      }

    }
  }

  .pt-time-slot {
    display: flex;
    grid-column-start: 2;
    grid-column-end: span 100;
    grid-row-end: auto;
    grid-row-start: 2;

    /*
    Array.from({ length: 24 }, (_, i) => i).reduce((all, c, idx, array) => `
      ${' ~.pt-time-slot'.repeat(array.length - c)} {
          grid-row-start: ${array.length - c + 2};
      }${all}`, ``);
    */
    ~.pt-time-slot {
        grid-row-start: 3;
    }
    ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 4;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 5;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 6;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 7;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 8;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 9;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 10;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 11;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 12;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 13;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 14;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 15;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 16;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 17;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 18;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 19;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 20;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 21;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 22;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 23;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 24;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 25;
    }
    ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot ~.pt-time-slot {
        grid-row-start: 26;
    }

  }

.pt-event-calendar {

  .pt-calendar-events {
    pointer-events: none;
    > * {
      pointer-events: initial;
    }
  }

  .pt-daily-calendar {
    display: grid;
    grid-template-columns: 1fr 100fr;
    .pt-calendar-events {
      grid-area: 2 / 2 / span 100 / span 100;
    }
  }

  .pt-weekly-calendar {
    .pt-calendar-events {
      border-right: 1px solid #cac7c1;
    }
  }

  .pt-weekly-calendar, .pt-daily-calendar {
    .pt-calendar-events {
      display: inline-block;
      position: relative !important;
      > li {
        cursor: pointer;
        padding: 1rem;
        border: 1px solid #cac7c1;
        background-color: #fff;
        box-shadow: -4px 4px 0px 0px rgba(0,0,0,0.2);
        overflow: hidden;
      }
    }
  }

  .pt-monthly-calendar {
    .day {
      overflow: initial;
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: .1fr 1fr;
      padding: 0;
      min-height: 117px;
      .date-label {
        position: relative;
        top: initial;
        left: initial;
      }
      .pt-calendar-events {
        grid-area: 2 / 1 / span 100 / span 100;
      }
      .pt-calendar-events:empty {
        display: none;
      }
      .pt-calendar-events:not(:empty) {
        position: relative !important;
        background-color: #fff;
        list-style: none;
        padding: 0;
        margin: 4px;
        width: auto !important;
        top: initial !important;
        height: 90px !important;
        overflow: auto;
        border: 1px solid #cac7c1;
        box-shadow: -4px 4px 0px 0px rgba(0,0,0,0.2);
        li {
          cursor: pointer;
          position: relative !important;
          left: initial !important;
          top: initial !important;
          height: auto !important;
          width: 100% !important;
          white-space: nowrap;
          text-overflow: ellipsis;
          overflow: hidden;
          padding: 0 5px;
          cursor: pointer;
          border-bottom: 1px solid #cac7c1;
        }
      }
    }
  }

  .pt-daily-calendar, .pt-weekly-calendar {
    --day-header-row: 1;
    --day-header-offset: 0;
    &:has(.pt-time-gutter) {
      --day-header-offset: 1;
    }
    .pt-day-header {
      grid-row-start: var(--day-header-row);
      grid-column-start: calc(1 + var(--day-header-offset));
      & ~ .pt-day-header {
        grid-column-start: calc(1 + var(--day-header-offset) + 1);
        & ~ .pt-day-header {
          grid-column-start: calc(1 + var(--day-header-offset) + 2);
          & ~ .pt-day-header {
            grid-column-start: calc(1 + var(--day-header-offset) + 3);
            & ~ .pt-day-header {
              grid-column-start: calc(1 + var(--day-header-offset) + 4);
              & ~ .pt-day-header {
                grid-column-start: calc(1 + var(--day-header-offset) + 5);
                & ~ .pt-day-header {
                  grid-column-start: calc(1 + var(--day-header-offset) + 6);
                  & ~ .pt-day-header {
                    grid-column-start: calc(1 + var(--day-header-offset) + 7);
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  --event-grid-start: 2;
  --event-grid-offset: 1;
  .pt-calendar-events {
    grid-column-start: calc(var(--event-grid-start));
    grid-column-end: calc(var(--event-grid-start));
    grid-row-start: calc(1 + var(--event-grid-offset));
    grid-row-end: span 100;
    & ~ .pt-calendar-events {
      grid-column-start: calc(var(--event-grid-start) + 1);
      grid-column-end: calc(var(--event-grid-start) + 1);
      & ~ .pt-calendar-events {
        grid-column-start: calc(var(--event-grid-start) + 2);
        grid-column-end: calc(var(--event-grid-start) + 2);
        & ~ .pt-calendar-events {
          grid-column-start: calc(var(--event-grid-start) + 3);
          grid-column-end: calc(var(--event-grid-start) + 3);
          & ~ .pt-calendar-events {
            grid-column-start: calc(var(--event-grid-start) + 4);
            grid-column-end: calc(var(--event-grid-start) + 4);
            & ~ .pt-calendar-events {
              grid-column-start: calc(var(--event-grid-start) + 5);
              grid-column-end: calc(var(--event-grid-start) + 5);
              & ~ .pt-calendar-events {
                grid-column-start: calc(var(--event-grid-start) + 6);
                grid-column-end: calc(var(--event-grid-start) + 6);
                & ~ .pt-calendar-events {
                  grid-column-start: calc(var(--event-grid-start) + 7);
                  grid-column-end: calc(var(--event-grid-start) + 7);
                }
              }
            }
          }
        }
      }
    }
  }
}

.pt-resource-calendar {

  .pt-day-header {
    grid-area: 1 / 1 / 1 / 1;
  }

  --slot-column-start: 2;
  --slot-column-end: 2;
  .pt-resource-header {
    & ~ .pt-calendar-resource-time-slot {
      grid-column-start: calc(var(--slot-column-start));
      grid-column-end: calc(var(--slot-column-end));
    }
    /*
    Array.from({ length: 24 }, (_, i) => i).reduce((all, c, idx, array) => `
    & ~ .pt-resource-header {
        ~ .pt-calendar-resource-time-slot {
            grid-column-start: ${array.length - c + 2};
            grid-column-end: ${array.length - c + 2};
        }
        ${all}
    }`, ``);
    */
    & ~ .pt-resource-header {
      ~ .pt-calendar-resource-time-slot {
        grid-column-start: calc(var(--slot-column-start) + 1);
        grid-column-end: calc(var(--slot-column-end) + 1);
      }
    }
    & ~ .pt-resource-header ~ .pt-resource-header {
      ~ .pt-calendar-resource-time-slot {
        grid-column-start: calc(var(--slot-column-start) + 2);
        grid-column-end: calc(var(--slot-column-end) + 2);
      }
    }
    & ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
      ~ .pt-calendar-resource-time-slot {
        grid-column-start: calc(var(--slot-column-start) + 3);
        grid-column-end: calc(var(--slot-column-end) + 3);
      }
    }
    & ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
      ~ .pt-calendar-resource-time-slot {
        grid-column-start: calc(var(--slot-column-start) + 4);
        grid-column-end: calc(var(--slot-column-end) + 4);
      }
    }
    & ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
      ~ .pt-calendar-resource-time-slot {
        grid-column-start: calc(var(--slot-column-start) + 5);
        grid-column-end: calc(var(--slot-column-end) + 5);
      }
    }
    & ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
      ~ .pt-calendar-resource-time-slot {
        grid-column-start: calc(var(--slot-column-start) + 6);
        grid-column-end: calc(var(--slot-column-end) + 6);
      }
    }
    & ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
      ~ .pt-calendar-resource-time-slot {
        grid-column-start: calc(var(--slot-column-start) + 7);
        grid-column-end: calc(var(--slot-column-end) + 7);
      }
    }
  }

  .pt-calendar-resource-time-slot {
    pointer-events: none;
    > div {
      pointer-events: initial;
      display: grid;
      left: 0;
      right: 0;
    }
    

    /*
    Array.from({ length: 48 }, (_, i) => `&.slot-start-${i} {
            grid-row-start: ${i + 2};
          }`).reduce((all, c) => `${all}
    ${c}`, ``);
    */
    &.slot-start-0 {
      grid-row-start: 2;
    }
    &.slot-start-1 {
      grid-row-start: 3;
    }
    &.slot-start-2 {
      grid-row-start: 4;
    }
    &.slot-start-3 {
      grid-row-start: 5;
    }
    &.slot-start-4 {
      grid-row-start: 6;
    }
    &.slot-start-5 {
      grid-row-start: 7;
    }
    &.slot-start-6 {
      grid-row-start: 8;
    }
    &.slot-start-7 {
      grid-row-start: 9;
    }
    &.slot-start-8 {
      grid-row-start: 10;
    }
    &.slot-start-9 {
      grid-row-start: 11;
    }
    &.slot-start-10 {
      grid-row-start: 12;
    }
    &.slot-start-11 {
      grid-row-start: 13;
    }
    &.slot-start-12 {
      grid-row-start: 14;
    }
    &.slot-start-13 {
      grid-row-start: 15;
    }
    &.slot-start-14 {
      grid-row-start: 16;
    }
    &.slot-start-15 {
      grid-row-start: 17;
    }
    &.slot-start-16 {
      grid-row-start: 18;
    }
    &.slot-start-17 {
      grid-row-start: 19;
    }
    &.slot-start-18 {
      grid-row-start: 20;
    }
    &.slot-start-19 {
      grid-row-start: 21;
    }
    &.slot-start-20 {
      grid-row-start: 22;
    }
    &.slot-start-21 {
      grid-row-start: 23;
    }
    &.slot-start-22 {
      grid-row-start: 24;
    }
    &.slot-start-23 {
      grid-row-start: 25;
    }
    &.slot-start-24 {
      grid-row-start: 26;
    }
    &.slot-start-25 {
      grid-row-start: 27;
    }
    &.slot-start-26 {
      grid-row-start: 28;
    }
    &.slot-start-27 {
      grid-row-start: 29;
    }
    &.slot-start-28 {
      grid-row-start: 30;
    }
    &.slot-start-29 {
      grid-row-start: 31;
    }
    &.slot-start-30 {
      grid-row-start: 32;
    }
    &.slot-start-31 {
      grid-row-start: 33;
    }
    &.slot-start-32 {
      grid-row-start: 34;
    }
    &.slot-start-33 {
      grid-row-start: 35;
    }
    &.slot-start-34 {
      grid-row-start: 36;
    }
    &.slot-start-35 {
      grid-row-start: 37;
    }
    &.slot-start-36 {
      grid-row-start: 38;
    }
    &.slot-start-37 {
      grid-row-start: 39;
    }
    &.slot-start-38 {
      grid-row-start: 40;
    }
    &.slot-start-39 {
      grid-row-start: 41;
    }
    &.slot-start-40 {
      grid-row-start: 42;
    }
    &.slot-start-41 {
      grid-row-start: 43;
    }
    &.slot-start-42 {
      grid-row-start: 44;
    }
    &.slot-start-43 {
      grid-row-start: 45;
    }
    &.slot-start-44 {
      grid-row-start: 46;
    }
    &.slot-start-45 {
      grid-row-start: 47;
    }
    &.slot-start-46 {
      grid-row-start: 48;
    }
    &.slot-start-47 {
      grid-row-start: 49;
    }


    /*
    Array.from({ length: 48 }, (_, i) => `&.slot-length-${i} {
            grid-row-end: span ${i};
          }`).reduce((all, c) => `${all}
    ${c}`, ``);
    */
    &.slot-length-0 {
      grid-row-end: span 0;
    }
    &.slot-length-1 {
      grid-row-end: span 1;
    }
    &.slot-length-2 {
      grid-row-end: span 2;
    }
    &.slot-length-3 {
      grid-row-end: span 3;
    }
    &.slot-length-4 {
      grid-row-end: span 4;
    }
    &.slot-length-5 {
      grid-row-end: span 5;
    }
    &.slot-length-6 {
      grid-row-end: span 6;
    }
    &.slot-length-7 {
      grid-row-end: span 7;
    }
    &.slot-length-8 {
      grid-row-end: span 8;
    }
    &.slot-length-9 {
      grid-row-end: span 9;
    }
    &.slot-length-10 {
      grid-row-end: span 10;
    }
    &.slot-length-11 {
      grid-row-end: span 11;
    }
    &.slot-length-12 {
      grid-row-end: span 12;
    }
    &.slot-length-13 {
      grid-row-end: span 13;
    }
    &.slot-length-14 {
      grid-row-end: span 14;
    }
    &.slot-length-15 {
      grid-row-end: span 15;
    }
    &.slot-length-16 {
      grid-row-end: span 16;
    }
    &.slot-length-17 {
      grid-row-end: span 17;
    }
    &.slot-length-18 {
      grid-row-end: span 18;
    }
    &.slot-length-19 {
      grid-row-end: span 19;
    }
    &.slot-length-20 {
      grid-row-end: span 20;
    }
    &.slot-length-21 {
      grid-row-end: span 21;
    }
    &.slot-length-22 {
      grid-row-end: span 22;
    }
    &.slot-length-23 {
      grid-row-end: span 23;
    }
    &.slot-length-24 {
      grid-row-end: span 24;
    }
    &.slot-length-25 {
      grid-row-end: span 25;
    }
    &.slot-length-26 {
      grid-row-end: span 26;
    }
    &.slot-length-27 {
      grid-row-end: span 27;
    }
    &.slot-length-28 {
      grid-row-end: span 28;
    }
    &.slot-length-29 {
      grid-row-end: span 29;
    }
    &.slot-length-30 {
      grid-row-end: span 30;
    }
    &.slot-length-31 {
      grid-row-end: span 31;
    }
    &.slot-length-32 {
      grid-row-end: span 32;
    }
    &.slot-length-33 {
      grid-row-end: span 33;
    }
    &.slot-length-34 {
      grid-row-end: span 34;
    }
    &.slot-length-35 {
      grid-row-end: span 35;
    }
    &.slot-length-36 {
      grid-row-end: span 36;
    }
    &.slot-length-37 {
      grid-row-end: span 37;
    }
    &.slot-length-38 {
      grid-row-end: span 38;
    }
    &.slot-length-39 {
      grid-row-end: span 39;
    }
    &.slot-length-40 {
      grid-row-end: span 40;
    }
    &.slot-length-41 {
      grid-row-end: span 41;
    }
    &.slot-length-42 {
      grid-row-end: span 42;
    }
    &.slot-length-43 {
      grid-row-end: span 43;
    }
    &.slot-length-44 {
      grid-row-end: span 44;
    }
    &.slot-length-45 {
      grid-row-end: span 45;
    }
    &.slot-length-46 {
      grid-row-end: span 46;
    }
    &.slot-length-47 {
      grid-row-end: span 47;
    }
  }

  .pt-day {
    display: grid;

    grid-template-columns: 1fr;
    &:has(.pt-resource-header) {
      grid-template-columns: repeat(var(--resources), 1fr);
      &:has(.pt-time-gutter) {
        grid-template-columns: 1fr repeat(var(--resources), 10fr);
      }
    }
    &:not(:has(.pt-resource-header)) {
      .pt-time-slot {
        display: none;
      }
    }
    &:has(.pt-resource-header) {
      --resources: 1;
    }
    &:has(.pt-resource-header ~ .pt-resource-header) {
      --resources: 2;
    }
    &:has(.pt-resource-header ~ .pt-resource-header ~ .pt-resource-header) {
      --resources: 3;
    }
    &:has(.pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header) {
      --resources: 4;
    }
    &:has(.pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header) {
      --resources: 5;
    }
    &:has(.pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header) {
      --resources: 6;
    }
    &:has(.pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header) {
      --resources: 7;
    }

    .pt-day-header {
      grid-row-start: 1;
      grid-row-end: 1;
      grid-column-start: 1;
      grid-column-end: auto;
    }
    --resource-header-grid-start: 1;
    --resource-header-grid-end: 2;
    .pt-resource-header {
      grid-area: calc(var(--resource-header-grid-start)) / calc(var(--resource-header-grid-end));

      /*
      Array.from({ length: 24 }, (_, i) => i).reduce((all, c, idx, array) => `
      ~.pt-resource-header {
          grid-area: 1 / ${array.length - c + 2};
          ${all}
      }`, ``);
      */
      ~ .pt-resource-header {
        grid-area: calc(var(--resource-header-grid-start)) / calc(var(--resource-header-grid-end) + 1);
      }
      ~ .pt-resource-header ~ .pt-resource-header {
        grid-area: calc(var(--resource-header-grid-start)) / calc(var(--resource-header-grid-end) + 2);
      }
      ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
        grid-area: calc(var(--resource-header-grid-start)) / calc(var(--resource-header-grid-end) + 3);
      }
      ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
        grid-area: calc(var(--resource-header-grid-start)) / calc(var(--resource-header-grid-end) + 4);
      }
      ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
        grid-area: calc(var(--resource-header-grid-start)) / calc(var(--resource-header-grid-end) + 5);
      }
      ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
        grid-area: calc(var(--resource-header-grid-start)) / calc(var(--resource-header-grid-end) + 6);
      }
      ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header ~ .pt-resource-header {
        grid-area: calc(var(--resource-header-grid-start)) / calc(var(--resource-header-grid-end) + 7);
      }
    }
  }
}

.pt-time-gutter, .pt-time-slot, .pt-calendar-resource-time-slot {
  padding: 1rem;
  white-space: nowrap;
  border-right: 1px solid #cac7c1;
  border-bottom: 1px solid #cac7c1;
}
:root {
  font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  color-scheme: only light;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  --primary-color-300: #cceaeb;
  --primary-color-400: #6ecfc4;
  --primary-color-500: #4ba6af;
  --primary-color-600: #357980;
  --secondary-color-300: #efc8a8;
  --secondary-color-400: #f5a25f;
  --secondary-color-500: #f6862b;
  --secondary-color-600: #fb7100;
  --neutral-color-0: #fff;
  --neutral-color-50: #f2f2f2;
  --neutral-color-500:rgb(129, 129, 129);
  --neutral-color-800:rgb(41, 41, 41);

  --success-color: #70c56d;
  --warning-color: yellow;
  --error-color: rgb(236, 67, 67); 
  --info-color: blue;

  --background-disabled: var(--neutral-color-500);

  --background-system-error: rgb(236, 67, 67);
  --background-system-success: rgb(112, 197, 109);
  --background-system-warning: rgb(240, 240, 28);
  --background-system-info: rgb(29, 106, 200);

  --button-text-color: var(--neutral-color-0);
  --button-background-color: var(--secondary-color-400);

  --accent-color: var(--primary-color-600);
}

dialog {
  margin: auto;
  border: 1px solid #dfdfdf;
  color: var(--primary-color-600);
  .dialog-content {
    margin: .5rem 0;
  }
}

label, input:not([type="checkbox"]):not([type="radio"]), textarea, select {
  display: block;
  width: 100%;
  margin-bottom: .25rem;
}
input:not([type="checkbox"]):not([type="radio"]), textarea, select {
  border-radius: 0;
  border: 1px solid var(--primary-color-500);
  padding: .25rem;
}

.pt-tabs {
  ul {
    li.active {
      background-color: var(--button-background-color);
      color: var(--button-text-color);
      text-align: center;
      text-decoration: none;
      padding: 0.5rem;
      font-size: 1.125rem;
      border: none;
      cursor: pointer;
      text-transform: uppercase;
    }
  }
}

.pt-icon-field {
  display: flex;
  justify-content: stretch;
}

.pt-icon::before {
  content: " ";
} 

.pt-icon {
  width: 2rem;
  height: 2rem;
}

#root {
  max-width: 1920px;
  font-size: 16px;
  color: var(--neutral-color-800);
  display: flex;
  min-height: 100vh;
  flex-flow: column;
  justify-content: space-between;
}

button, .btn, .countdown span {
  background-color: var(--button-background-color);
  color: var(--button-text-color);
  text-align: center;
  text-decoration: none;
  padding: 0.5rem;
  font-size: 1.125rem;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  text-transform: uppercase;
}
button:disabled {
  background-color: var(--secondary-color-300);
}
.countdown span {
  float: right;
  cursor: initial;
  text-transform: none;
}

.btn:disabled {
  background-color: rgba(from var(--button-background-color) r g b / 0.6);
  cursor: default;
}

#root > header button, #root > header .btn {
  width: 12rem;
}

#root .logo img {
  height: 100px;
  min-width: 10rem;
}

#root > header {
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
  align-items: center;
  color: var(--primary-color);
  padding: 0 10%;
}

#root > header .menu {
  display: flex;
  flex: 6;
  gap: 1.5rem;
  align-items: center;
  justify-content: flex-end;
}

#user-menu-btn, #login-btn {
  flex: 1;
}

#root > header .menu a:not([class="btn"]) {
  text-decoration: none;
  color: var(--primary-color-400);
  font-size: 1.3rem;
  font-weight: bold;
}

#root > header a:not([class="btn"]):hover {
  color: var(--secondary-color-400);
}

#root > header #user-panel {
  position: relative;
}

#root > header #user-menu-btn.active {
  background-color: var(--secondary-color-600);
}

#root > header #user-menu, #root > header #login-form {
  display: none;
  position: absolute;
  width: 24.5rem;
  right: 0;
  top: 4rem;
  color: var(--primary-color-500);
  background-color: var(--neutral-color-50);
  box-shadow: 0.2rem 0.2rem 0.5rem 0 rgba(from var(--neutral-color-500) r g b / 0.5);
}

#root > header #user-menu.show, #root > header #login-form.show {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem
}
#user-menu .username {
  display: none;
}
#root > header #user-panel label {
  line-height: 1rem;
}
#root > header #user-panel a {
  font-weight: 400;
  color: var(--primary-color-500);
  font-size: 1.125rem;
  text-decoration: none;
  cursor: pointer;
}
#root > header #user-panel .btn {
  color: var(--neutral-color-0);
  margin-bottom: 0.875rem;
}
#root > header #login-form input {
  background-color: transparent;
  padding: 0.25rem;
  border: 1.5px solid rgba(from var(--primary-color-500) r g b / 0.5);
  margin-bottom: 0.875rem;
}
#root > header #login-form input:focus-visible {
  outline-color: var(--primary-color-500);
  background-color: transparent;
}
#root > header #login-form button, #root > header #login-form .btn {
  width: 100%;
  background-color: var(--primary-color-500);
}
#root > main {
  display: flex;
  flex-direction: column;
  justify-content: center; 
  align-items: center;
  padding: 2rem 10%;
}

.baber-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 80%;
  padding: 2rem 10%;
  color: var(--primary-color-500);
}

.baber-form fieldset {
  border: none;
  padding: 0;
  display: flex;
  gap: 1rem;
  flex-flow: wrap;
  margin-bottom: 1.5rem;
}
.baber-form legend {
  display: none;
  font-size: 1.25rem;
  margin-bottom: 1.625rem;
}

.baber-form #fs-phone > legend, .baber-form #fs-optin > legend, .baber-form #fs-gdpr > legend  {
  display: block;
}

.baber-form label {
  flex: 1;
  display: flex;
  flex-direction: column;
  font-size: 1.25rem;
  align-items: start;
}

.baber-form input, .baber-form select, .baber-form textarea {
  border: 1px solid var(--primary-color-500);
  padding: 0.25rem;
}

.baber-form input:focus-visible, .baber-form select:focus-visible, .baber-form textarea:focus-visible {
  outline-color: var(--primary-color-500);
  background-color: transparent;
}

.baber-form a {
  color: var(--primary-color-500);
  text-decoration: none;
  font-weight: bold;
}

.baber-form .pw-diff {
  border-color: red;
}

.baber-form #fs-optin, .baber-form #fs-gdpr {
  flex-direction: column;
  align-items: flex-start;
}
.baber-form label:has(input[type="checkbox"]), .baber-form label:has(input[type="radio"]) {
  flex-flow: row-reverse;
  align-items: center;
  font-size: 1.125rem;
}

.baber-form #fs-optin span, .baber-form #fs-gdpr span {
  margin-inline-start: 1.125rem;
}

.baber-form input[type="checkbox"], .baber-form input[type="radio"] {
  min-width: 1.125rem;
  max-width: 1.125rem;
  margin-inline-end: 0.5rem;
  border: 1px solid var(--primary-color-500);
}

.baber-form select[name='country'] {
  max-width: 100%;
}
.baber-form label[for='postcode'] {
  max-width: 10rem;
}

.baber-form #fs-phone legend {
  margin-bottom: 0;
}

#hero {
  --hero-bckg-color: rgba(from var(--primary-color-400) r g b / 0.7);
  background: linear-gradient(var(--hero-bckg-color), var(--hero-bckg-color)), url(../baber.pagony.hu/assets/hero_img.webp);
  background-repeat: no-repeat, no-repeat;
  background-size: contain, cover;
  min-height: 75vh;
  color: var(--neutral-color-0);
  text-align: center;
  padding: 4rem 20%; 
}
#aboutus {
  text-align: center;
  padding: 4rem 20%; 
}

#hero h1 {
  font-size: 2.5rem;
  margin-bottom: 5rem;
}

#hero p {
  font-size: 1.5rem;
}

#aboutus h1, #rooms > h1 {
  color: var(--primary-color-500);
  font-size: 3rem;
  margin-bottom: 2rem;
}

#aboutus p {
  font-size: 1rem;
  margin-bottom: 2rem;
}

#aboutus button {
  font-size: 1.5rem;
}

#rooms {
  background-color: var(--primary-color-300);
  text-align: center;
  padding: 4rem 10%;
}

#rooms ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  margin-block: 0;
  padding-inline: 0;
}

#rooms > ul li {
  flex: 1 1 50%;
  padding: 2rem;
  list-style-type: none;
  position: relative;
  min-height: calc(100% - 10px);
  min-width: 400px;
  --room-overlay: #3fb2de;
  background: linear-gradient(var(--room-overlay), var(--room-overlay));
  background-origin: content-box;
  background-repeat: no-repeat;
}

#rooms > ul li:nth-child(n + 2):nth-child(-n + 3){
  --room-overlay:#267e22e6;
}

#rooms img {
  mix-blend-mode: hard-light;
}

#rooms img:hover {
  mix-blend-mode: normal;
}

#rooms .info {
  background-color: rgba(from var(--secondary-color-400) r g b / 0.7);
  position: absolute;
  bottom: 0;
  width: 70%;
  height: 40%;
  right: 0;
  padding: 1.5rem;
  text-align: left;
}

#rooms .info h1 {
  color: var(--neutral-color-0);
  font-size: 2rem;
  margin-bottom: 1rem;
}

#rooms .info p {
  position: absolute;
  right: 1.8em;
  bottom: 1.6em;
  color: #fff;
  font-weight: bold;
  font-size: 1.2em;
}

dialog.room-popup {
  height: 75vh;
  width: 75vw;
}

#contact {
  padding: 4rem 10%;
  display: flex;
  flex-direction: row;
  color: rgba(0, 0, 0, 0.6);
}

#contact form, #contactdata {
  width: 50%;
  display: flex;
  flex-direction: column;
  padding: 2rem; 
  gap: 1rem;
  align-items: stretch;
  justify-content: space-between;
  text-align: center;
}

#contact form input, #contact form textarea {
  padding: 1rem;
  background-color: var(--primary-color-300);
  border: none;
}

#contact form label {
  text-align: left;
}

#contact form input[type=checkbox] {
  border: 1px solid var(--primary-color-400);
  width: 1.2rem;
  margin-inline-end: 1rem;
  height: 2.2rem;
  vertical-align: middle;
  margin-bottom: 0.25rem;
}

#contactdata dt {
  text-decoration: underline;
}
#contactdata dd {
  margin-bottom: 1rem;
}

#map {
  padding: 2rem 4rem 0 4rem;
  margin-bottom: 0;
}

#root > footer {
  background-color: var(--primary-color-500);
  padding: 4rem 10%; 
}

#root > footer nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--neutral-color-0);
}

#root > footer a {
  text-decoration: none;
  color: var(--neutral-color-0);
  font-size: 1.5rem;
  text-transform: uppercase;
}

#root > footer a:hover {
  color: var(--secondary-color-300);
}

.reservation-calendar .lead {
  margin-block-end: 2em;
}

.reservation-calendar {
  margin: 1rem 0;
  padding: 4rem 10%;
}
.pt-calendar-booking{
  width: 100%;
}

.reservation-calendar .pt-calendar{
  justify-self: center;
}

.open-day-text, .empty-day-text {
  display: none;
}

.reservation-calendar .pt-calendar-pager {
  display: grid;
  gap: .25rem;
  grid-template-columns: repeat(3, 1fr);
  button {
    text-transform: none;
    font-size: 1rem;
    padding: 0.25rem 0.5rem;
  }
  button:nth-child(1) {
    &:before {
      content: 'Előző';
    }
  }
  button:nth-child(2) {
    &:before {
      content: 'Mai nap';
    }
  }
  button:nth-child(3) {
    &:before {
      content: 'Következő';
    }
  }
}
.legend {
  display: none;
}

.reservation-calendar button {
  text-transform: initial;
  border-radius: 0;
}

.reservation-calendar .day {
  padding: .5rem;
  background: transparent;
  color: initial;
  font-size: 0.95em;
  border-color: #dfdfdf;
  border-radius:0;
  &.past {
    background-color: #dfdfdf;
  }
  &.ready {
    background-color: #88ab856b;
  }
  &.busy {
    background-color: #f8aaaa6b;
  }
}
.reservation-calendar .pt-monthly-calendar {
  border-radius: 5px;
}

.reservation-calendar .day-header,
.reservation-calendar .pt-day-header,
.reservation-calendar .pt-resource-header {
  padding: .5rem;
  border-color: #dfdfdf;
  background: transparent;
}
.pt-time-gutter, .pt-time-slot, .pt-day .pt-calendar-resource-time-slot {
  border-color: #dfdfdf;
}

.pt-calendar-resource-slot {
  background: transparent;
  color: initial;
  padding: .5rem;
  font-size: .95em;
  background-color: #88ab856b;
}

.reservation-calendar .navigation {
  flex-flow: row-reverse;
}
.reservation-calendar .pt-resource-calendar {
  margin-bottom: 1rem;
  border-color: #dfdfdf;
  border-radius: 5px;
}
.reservation-calendar .pt-calendar-resource-timeslots{
  padding: 0;
}
.reservation-calendar .pt-calendar-resource-timeslot {
  width:100%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  background-color: rgba(from var(--background-system-success) r g b / 0.5);
  list-style-type: none;
}

.reservation-calendar .pt-calendar-resource-timeslot.pt-resource-unavailable {
  background-color: rgba(from var(--neutral-color-500) r g b / 0.5);
}

.reservation-calendar .pt-calendar-items-header{
  text-align: center;
}
.reservation-calendar .pt-day header.pt-day-header {
  text-align: center;
  border: none;
  border-right: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  font-size: 1.2rem;
  color: var(--primary-color-500);
}
.reservation-calendar .pt-time-gutter {
  background-color: var(--primary-color-300);
  text-align: center;
  font-weight: 300;
  padding: .5rem;
}

.reservation-calendar .pt-calendar-resource-time-slot {
  .pt-calendar-resource-slot.occupied {
    background-color: var(--background-system-error);
  }
}

.reservation-calendar .pt-calendar-resource-time-slot {
  .pt-calendar-resource-slot.self.temporary {
    font-size: 0;
    background-color: rgba(from var(--secondary-color-400) r g b / 0.7);
  }
  .pt-calendar-resource-slot.unavailable {
    background-color: #dfdfdf;
  }
}

.reservation-calendar .pt-calendar-resource-time-slot.pt-resource-occupied {
  .pt-calendar-resource-slot.self.temporary:before {
    content: " "; 
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: url(../baber.pagony.hu/assets/calendar-reserved.svg) no-repeat;
    background-size: 60% auto;
    background-color: #fff;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
  }
}

dialog.dialog-resource-reservation {
  padding: 0.5em 1em;
  border: 2px solid;
  border-radius: 3%;
}

.reservation-calendar .bookings h1 {
  margin-bottom: 1.25rem;
}
.reservation-calendar .bookings dl {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  max-width: 50%;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.reservation-calendar .bookings .btn {
  padding: 0.5rem 1rem;
}

@media screen and (max-width: 1200px) {
  :root {
    font-size: 14px;
  }
  #root > header .menu {
    display: flex;
    gap: 0.7rem;
    align-items: center;
  }
  #hero, #aboutus {
    padding: 4rem 10%; 
  }
  #root > header {
    padding: 0 5%;
  }
  #rooms, #contact, #root > footer {
    padding: 4rem 5%; 
  } 
}

.booking-item {
  border-color: #dfdfdf;
  > div {
    display: flex;
    align-items: center;
  }
  .actions {
    gap: .25rem;
  }
}

.title, .dialog-header {
  font-size: 1.3rem;
}
.title {
  margin-top: 1rem;
  margin-bottom: .5rem;
}

.pt-dialog {
  background: #fff;
  .pt-dialog-header, .pt-dialog-content, .pt-dialog-footer {
    padding: 1rem;
  }
  .pt-dialog-header {
    padding-right: calc(48px + 1rem);
  }
  .pt-dialog-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.pt-card {
  gap: 0.5rem;
  margin: 1rem 0;
}


.pt-select__control {
	border-radius: 0;
	border: 1px solid var(--primary-color-500);
	box-shadow: none;
	/* margin: 2px; */
	padding: .25rem;
}
.pt-select__indicators {
	align-self: none;
}
.pt-select__indicator {
	padding: 2px 4px;
	svg {
		height: 20px;
	}
}

.pt-select__value-container {
	/* height: 22.49px; */
	line-height: 1rem;
	padding: 0;
	input {
		border: 0 !important;
		padding:0 !important;
		margin: 0 !important;
	}
}

.pt-select__indicator-separator {
	margin: 0;
}

.pt-select__input-container {
	margin: 0;
	padding: 0;
}

.pt-payment-method {
  flex-flow: row-reverse;
}

.pt-form-invalid-text {
  color: var(--error-color);
}

.pt-voucher-payment {
  margin: 1rem 0;
}
