/*
 * Qafilo blocks: layout only. Colours and fonts come from the theme
 * (text, links, headings); a theme can refine them through the classes below.
 */
.qafilo-block__placeholder { margin: 0; padding: 1rem; outline: 1px dashed currentColor; opacity: .7; font-size: .9em; }

/* Upcoming departures: one row per departure, readable as a timetable. */
.qafilo-departures__list { list-style: none; margin: 0; padding: 0; }
.qafilo-departures__month { margin: 2em 0 .75em; }
.qafilo-departures__item { margin: 0; }
.qafilo-departures__link {
	display: grid;
	grid-template-columns: 6.5rem minmax(0, 1fr) auto auto;
	gap: .5rem 1.5rem;
	align-items: center;
	padding: 1.1rem 1rem;
	color: inherit;
	text-decoration: none;
}
.qafilo-departures__link:hover .qafilo-departures__title,
.qafilo-departures__link:focus-visible .qafilo-departures__title { text-decoration: underline; text-underline-offset: .2em; }
.qafilo-departures__date { display: flex; flex-direction: column; line-height: 1.1; }
.qafilo-departures__day { font-size: 2.4em; font-family: var(--wp--custom--qafilo--numerals, inherit); }
.qafilo-departures__monthyear { font-size: .78em; text-transform: uppercase; letter-spacing: .12em; opacity: .75; }
.qafilo-departures__main { display: flex; flex-direction: column; gap: .25rem; }
.qafilo-departures__title { font-size: 1.2em; font-weight: 600; }
.qafilo-departures__details, .qafilo-departures__seats { font-size: .9em; opacity: .8; }
.qafilo-departures__from { display: flex; flex-direction: column; text-align: end; }
.qafilo-departures__from-label { font-size: .8em; opacity: .75; }
.qafilo-departures__amount { font-size: 1.35em; font-weight: 600; white-space: nowrap; }
.qafilo-departures__item.is-full .qafilo-departures__seats { opacity: .6; }
@media (max-width: 640px) {
	.qafilo-departures__link { grid-template-columns: 4.5rem minmax(0, 1fr); }
	.qafilo-departures__from, .qafilo-departures__seats { grid-column: 2; text-align: start; }
}

/* Facts and guarantees: label above value, side by side when there is room. */
.qafilo-facts, .qafilo-guarantees { margin: 0; display: grid; gap: 1.25rem 2.5rem; }
.qafilo-facts { grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); }
.qafilo-guarantees { grid-template-columns: minmax(0, 1fr); }
.qafilo-facts dt, .qafilo-guarantees dt { font-size: .78em; text-transform: uppercase; letter-spacing: .12em; opacity: .75; margin-block-end: .3rem; }
.qafilo-facts dd, .qafilo-guarantees dd { margin: 0; }
.qafilo-facts dd { font-weight: 600; font-size: 1.1em; }
@media (min-width: 782px) {
	.qafilo-guarantees__item { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: 2rem; }
}
:lang(ar) .qafilo-facts dt, :lang(ar) .qafilo-guarantees dt,
:lang(ar) .qafilo-departures__monthyear { text-transform: none; letter-spacing: 0; }

/* Contact. */
.qafilo-contact { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.qafilo-contact li { margin: 0; }
.qafilo-contact__phone a { font-weight: 600; }
