/*
Theme Name: Qafilo Agency
Theme URI: https://qafilo.fulldo.fr/
Author: FullDo
Author URI: https://fulldo.fr/
Description: Website theme for Umrah and Hajj travel agencies, made for the Qafilo plugin. Upcoming departures, package pages with their programme and booking form, agency guarantees and contact details come from Qafilo; logo, colours, fonts, menus and texts are set in the Site Editor. French, English and Arabic (right to left).
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.1
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: qafilo-theme
Tags: full-site-editing, block-patterns, block-styles, style-variations, rtl-language-support, translation-ready, wide-blocks, editor-style, travel
*/

/*
 * Only what theme.json cannot express: the block styles offered in the toolbar
 * and the layout of the Qafilo blocks. Colours and fonts always come from the
 * presets, so a style variation or a change in Styles applies everywhere.
 */

/* ---------- Block style: kicker (small spaced capitals after a rule) ---------- */
.is-style-kicker {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}
.is-style-kicker::before {
	content: "";
	flex: 0 0 3rem;
	block-size: 1px;
	background: currentColor;
}
.has-text-align-center.is-style-kicker { justify-content: center; }
:lang(ar) .is-style-kicker { letter-spacing: 0; font-size: var(--wp--preset--font-size--medium); }

/* ---------- Block style: arch (the doorway of a mosque) ---------- */
.wp-block-image.is-style-arch img,
.wp-block-image.is-style-arch .components-placeholder,
.wp-block-post-featured-image.is-style-arch img {
	border-radius: 999px 999px 0 0;
	object-fit: cover;
	inline-size: 100%;
}
.wp-block-image.is-style-arch:not([class*="aspect"]) img { aspect-ratio: 4 / 5; }

/* ---------- Block style: plain lines ---------- */
.wp-block-list.is-style-plain { list-style: none; padding-inline-start: 0; }
.wp-block-list.is-style-plain li { padding-block: 0.6rem; }

/* ---------- Block style: underlined link button ---------- */
.wp-block-button.is-style-text-link .wp-block-button__link {
	background: transparent;
	color: inherit;
	padding-inline: 0;
	text-decoration: underline;
	text-underline-offset: 0.35em;
	text-decoration-thickness: 1px;
}
.wp-block-button.is-style-text-link .wp-block-button__link:hover { color: var(--wp--preset--color--accent); background: transparent; }

/* ---------- Block style: alternating rows (a timetable, a comparison) ---------- */
.wp-block-group.is-style-rows > :nth-child(odd) { background: var(--wp--preset--color--surface); }
.wp-block-group.is-style-rows > * { margin-block: 0 !important; }

/* ---------- Qafilo: upcoming departures ---------- */
.qafilo-departures__item:nth-child(odd) .qafilo-departures__link { background: var(--wp--preset--color--surface); }
.has-contrast-background-color .qafilo-departures__item:nth-child(odd) .qafilo-departures__link,
.has-accent-background-color .qafilo-departures__item:nth-child(odd) .qafilo-departures__link { background: rgb(255 255 255 / 0.06); }
.qafilo-departures__link { padding: 1.5rem 1.75rem; }
.qafilo-departures__day { font-family: var(--wp--custom--qafilo--numerals); font-size: 3rem; }
.qafilo-departures__title { font-family: var(--wp--custom--qafilo--numerals); font-weight: 400; font-size: var(--wp--preset--font-size--x-large); }
.qafilo-departures__amount { font-size: var(--wp--preset--font-size--x-large); }
.qafilo-departures__link:hover .qafilo-departures__title { color: var(--wp--preset--color--accent); }
.qafilo-departures__month { font-size: var(--wp--preset--font-size--xx-large); }

/* ---------- Qafilo: facts, programme, guarantees ---------- */
.qafilo-facts dd { font-size: var(--wp--preset--font-size--large); }
.qafilo-trip__title { font-size: var(--wp--preset--font-size--xx-large); }
.qafilo-trip__stages { list-style: none; padding: 0; margin: 2rem 0; display: grid; gap: 1.75rem; }
.qafilo-trip__where { display: block; font-family: var(--wp--custom--qafilo--numerals); font-size: var(--wp--preset--font-size--x-large); }
.qafilo-trip__stay { color: var(--wp--preset--color--muted); }
.qafilo-trip__lists { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 2rem 3rem; background: var(--wp--preset--color--surface); padding: clamp(1.5rem, 1rem + 2vw, 3rem); }
.qafilo-trip__list h3 { font-family: var(--wp--preset--font-family--hanken-grotesk); font-size: var(--wp--preset--font-size--small); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.qafilo-trip__list ul { list-style: none; padding: 0; margin: 0; }
.qafilo-trip__list li { padding-block: 0.45rem; }
.qafilo-guarantees dd { font-size: var(--wp--preset--font-size--large); }
.has-contrast-background-color .qafilo-guarantees dt { color: var(--wp--preset--color--on-contrast-muted); opacity: 1; }
:lang(ar) .qafilo-trip__list h3 { letter-spacing: 0; text-transform: none; }

/* ---------- Qafilo: booking form ---------- */
.qafilo-block--booking { position: sticky; inset-block-start: 1.5rem; }
.qafilo-block--booking .qafilo-booking__actions .wp-element-button {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent);
	inline-size: 100%;
}
.qafilo-block--booking .qafilo-booking__actions .wp-element-button:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.qafilo-block--booking .qafilo-booking input[type=text],
.qafilo-block--booking .qafilo-booking input[type=email],
.qafilo-block--booking .qafilo-booking input[type=tel],
.qafilo-block--booking .qafilo-booking textarea,
.qafilo-block--booking .qafilo-booking select { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--contrast); border: 0; padding: 0.7rem 0.9rem; font: inherit; max-inline-size: none; }
.qafilo-block--booking .qafilo-booking__stepper button { background: var(--wp--preset--color--paper); color: inherit; border: 0; border-radius: 50%; }
.qafilo-block--booking .qafilo-booking__stepper input { background: transparent; border: 0; font-weight: 600; }
.qafilo-block--booking .qafilo-booking__total { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); padding: 1.25rem 1.5rem; }

/* Big numbers (steps, dates) follow the heading font chosen in Styles. */
.qafilo-numeral { font-family: var(--wp--custom--qafilo--numerals); }

/* ---------- Full-width bands follow each other without a gap, on any page ---------- */
.wp-block-post-content > .alignfull { margin-block: 0; }
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }

/* ---------- Header ---------- */
.qafilo-header .wp-block-site-logo img { max-block-size: 3.5rem; inline-size: auto; }

@media (max-width: 781px) {
	.qafilo-block--booking { position: static; }
}
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}
