/**
 * Generic mobile responsive shell.
 *
 * Breakpoint: max-width 47.99rem (mobile phones; tablet refinement is tablet.css).
 * Commerce-only rules live in mobile-commerce.css.
 */

@media (max-width: 47.99rem) {
	/* ------------------------------------------------------------------ */
	/* Container + section rhythm                                         */
	/* ------------------------------------------------------------------ */

	.faradoran-container,
	.adonis-container {
		inline-size: min(
			100% - (var(--faradoran-theme-layout-gutter-mobile-wide) * 2),
			var(--faradoran-theme-layout-max-width)
		);
	}

	.faradoran-main,
	.adonis-main {
		padding-block: var(--faradoran-theme-mobile-section-space);
	}

	.faradoran-main.faradoran-home,
	.adonis-main.faradoran-home {
		padding-block: var(--faradoran-theme-space-5) var(--faradoran-theme-space-10);
	}

	.faradoran-section,
	.adonis-section {
		padding-block: var(--faradoran-theme-mobile-section-space);
	}

	.faradoran-section__header,
	.adonis-section__header {
		margin-block-end: var(--faradoran-theme-space-4);
	}

	.faradoran-section__title,
	.adonis-section__title {
		font-size: clamp(1.0625rem, 0.95rem + 0.35vw, 1.25rem);
		line-height: var(--faradoran-theme-line-height-heading);
	}

	.faradoran-section__header--split,
	.adonis-section__header--split {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
		gap: var(--faradoran-theme-space-3);
		text-align: start;
	}

	.faradoran-section__action .faradoran-button,
	.adonis-section__action .adonis-button,
	.faradoran-section__action a,
	.adonis-section__action a {
		display: inline-flex;
		align-items: center;
		min-block-size: var(--faradoran-theme-touch-target);
		padding-inline: var(--faradoran-theme-space-3);
	}

	/* ------------------------------------------------------------------ */
	/* Homepage hero                                                      */
	/* ------------------------------------------------------------------ */

	.faradoran-hero,
	.adonis-hero {
		padding-block: var(--faradoran-theme-space-6);
	}

	.faradoran-hero__frame,
	.adonis-hero__frame {
		padding: var(--faradoran-theme-space-5);
	}

	.faradoran-hero__ornament--top,
	.adonis-hero__ornament--top {
		display: none;
	}

	.faradoran-hero__layout,
	.adonis-hero__layout {
		gap: var(--faradoran-theme-space-5);
	}

	.faradoran-hero__title,
	.adonis-hero__title {
		font-size: clamp(1.375rem, 1.1rem + 1.5vw, 1.75rem);
	}

	.faradoran-hero__description,
	.adonis-hero__description {
		font-size: var(--faradoran-theme-font-size-sm);
		line-height: var(--faradoran-theme-line-height-base);
	}

	.faradoran-hero__actions .faradoran-button,
	.adonis-hero__actions .adonis-button,
	.faradoran-hero__actions a.button,
	.adonis-hero__actions a.button {
		min-block-size: var(--faradoran-theme-touch-target);
		flex: 1 1 calc(50% - var(--faradoran-theme-space-2));
		justify-content: center;
	}

	.faradoran-hero__image,
	.adonis-hero__image {
		max-block-size: min(52vh, 22rem);
		aspect-ratio: 4 / 5;
	}

	/* ------------------------------------------------------------------ */
	/* Promotional banners                                                */
	/* ------------------------------------------------------------------ */

	.faradoran-home-promo-banners__grid,
	.adonis-home-promo-banners__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--faradoran-theme-space-3);
	}

	.faradoran-home-promo-banner-row__grid,
	.adonis-home-promo-banner-row__grid {
		grid-template-columns: 1fr;
		gap: var(--faradoran-theme-space-3);
	}

	.faradoran-home-promo-banner-row__item--full,
	.faradoran-home-promo-banner-row__item--half,
	.faradoran-home-promo-banner-row__item--quarter,
	.adonis-home-promo-banner-row__item--full,
	.adonis-home-promo-banner-row__item--half,
	.adonis-home-promo-banner-row__item--quarter {
		grid-column: 1 / -1;
	}

	.faradoran-home-promo-banners__grid-item:first-child,
	.adonis-home-promo-banners__grid-item:first-child {
		grid-column: 1 / -1;
	}

	.faradoran-promo-banner__overlay-title,
	.adonis-promo-banner__overlay-title {
		font-size: clamp(0.875rem, 0.8rem + 0.25vw, 1rem);
		line-height: var(--faradoran-theme-line-height-tight);
	}

	.faradoran-promo-banner__overlay-text,
	.adonis-promo-banner__overlay-text {
		font-size: var(--faradoran-theme-font-size-xs);
	}

	.faradoran-promo-banner__overlay-cta,
	.adonis-promo-banner__overlay-cta {
		min-block-size: var(--faradoran-theme-touch-target);
		padding-inline: var(--faradoran-theme-space-4);
	}
}
