/* Qafilo — layout only; colours and type come from the theme. */
.qafilo-booking{margin-block:2.5em;display:flex;flex-direction:column;gap:1.25em}
.qafilo-booking fieldset{border:0;padding:0;margin:0 0 1.5em;min-inline-size:0}
.qafilo-booking legend{font-weight:600;margin-block-end:.5em;padding:0}
.qafilo-booking__departure{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25em .75em;padding-block:.6em;cursor:pointer}
.qafilo-booking__departure input{margin:0}
.qafilo-booking__status,.qafilo-booking__from,.qafilo-booking__hint,.qafilo-booking__legal{opacity:.8;font-size:.92em}
.qafilo-booking__counter{display:flex;align-items:center;justify-content:space-between;gap:1em;margin-block:.4em}
.qafilo-booking__stepper{display:inline-flex;align-items:stretch}
.qafilo-booking__stepper button{min-inline-size:44px;min-block-size:44px;font-size:1.2em;line-height:1;cursor:pointer}
.qafilo-booking__stepper input{inline-size:3.5em;text-align:center;-moz-appearance:textfield}
.qafilo-booking__stepper input::-webkit-inner-spin-button,.qafilo-booking__stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qafilo-booking__total{font-size:1.25em;margin-block:1.5em 2em}
.qafilo-booking__total strong{font-size:1.4em}
.qafilo-booking__suggest button{margin-inline-start:.5em}
.qafilo-booking input[type=text],.qafilo-booking input[type=email],.qafilo-booking input[type=tel],.qafilo-booking textarea{inline-size:100%;max-inline-size:32em;box-sizing:border-box;min-block-size:44px}
.qafilo-booking__trap{position:absolute;inset-inline-start:-9999px;inline-size:1px;block-size:1px;overflow:hidden}
.qafilo-booking__actions button{min-block-size:48px;padding-inline:1.5em}
.qafilo-booking__suggest button{background:none;border:0;padding:0;margin-inline-start:.25em;min-block-size:44px;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.qafilo-booking select{font:inherit;min-block-size:44px;max-inline-size:100%;padding-inline:.5em}
.qafilo-booking input[type=checkbox],.qafilo-booking input[type=radio]{inline-size:1.25em;block-size:1.25em;margin:0;flex:none;accent-color:currentColor;cursor:pointer}
.qafilo-booking label:has(> input[type=checkbox]){display:flex;align-items:flex-start;gap:.75em;cursor:pointer}
.qafilo-booking label > input[type=checkbox]{margin-block-start:.2em}
.qafilo-booking__departure{min-block-size:44px;align-items:center}
.qafilo-trip{margin-block:2.5em 1em}
.qafilo-trip__summary{font-size:.92em;letter-spacing:.06em;text-transform:uppercase;opacity:.8;margin-block:.25em 1.5em}
.qafilo-trip__stages{list-style:none;padding:0;margin:0 0 2em;counter-reset:stage}
.qafilo-trip__stage{display:grid;grid-template-columns:11em 1fr;gap:.25em 1.5em;padding-block:.6em}
.qafilo-trip__where{font-weight:600}
.qafilo-trip__stay{opacity:.85}
.qafilo-trip__lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(14em,1fr));gap:1.5em 3em}
.qafilo-trip__list h3{font-size:1em;margin:0 0 .5em}
.qafilo-trip__list ul{margin:0;padding-inline-start:1.1em}
.qafilo-trip__list li{margin-block:.3em}
@media (max-width:480px){.qafilo-trip__stage{grid-template-columns:1fr}}

/* Departures by month ([qafilo_departures_by_month]). */
.qafilo-months { display: grid; gap: 2.5rem; }
.qafilo-months__title { margin: 0 0 .75rem; text-transform: capitalize; }
.qafilo-months__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.qafilo-months__item { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr) minmax(0, 2fr) auto; gap: .25rem 1.25rem; align-items: baseline; }
.qafilo-months__package { font-weight: 600; }
.qafilo-months__details { opacity: .75; font-size: .95em; }
.qafilo-months__from { font-weight: 600; white-space: nowrap; }
@media (max-width: 700px) {
	.qafilo-months__item { grid-template-columns: 1fr; }
}

/* Larger text for older pilgrims (button in the booking form, remembered on the device). */
.qafilo-booking__large { font: inherit; font-size: .95em; padding: .55em 1em; min-height: 44px; margin-block: 0 1rem; cursor: pointer; background: transparent; color: inherit; border: 0; text-decoration: underline; text-underline-offset: .3em; }
.qafilo-large .qafilo-booking, .qafilo-large .qafilo-trip { font-size: 1.25em; line-height: 1.6; }
.qafilo-large .qafilo-booking input, .qafilo-large .qafilo-booking select, .qafilo-large .qafilo-booking textarea, .qafilo-large .qafilo-booking button { font-size: 1em; min-height: 52px; }
.qafilo-booking__data{display:none}

/* After the request: what happens next, in place of the form. */
.qafilo-booking__confirm{padding-block:.5em 1em;outline:0}
.qafilo-booking__confirm-title{font-size:1.35em;margin:0 0 .5em}
.qafilo-booking__next{margin:1em 0;padding-inline-start:1.3em}
.qafilo-booking__next li{margin-block:.5em}
.qafilo-booking__again{text-underline-offset:.2em}
.qafilo-booking__credit{opacity:.65;font-size:.8em}
