/* ==========================================================================
   REZISTANCE X - Homepage tablet + mobile layout
   Desktop (>= 1200px) is the reference and is not changed by this file:
   section 0 only restores the exact values the Core plugin used to inject as
   inline styles (see rezistancex_homepage_inline_style_markers() in
   functions.php); everything else lives inside max-width: 1199px.

   Ranges: tablet landscape 1024-1199, tablet portrait 768-1023, mobile <= 767.
   Selectors carry :not(#rx-x) so they outrank the theme's #rx-force-* rules.
   ========================================================================== */

/* ---------- 0 · Former inline styles (all widths, identical values) ---------- */
html:root body.home.rezistancex-site:not(#rx-x) [data-rx-fs="hero-title"] { font-weight: 200 !important; text-transform: uppercase !important; }
html:root body.home.rezistancex-site:not(#rx-x) [data-rx-fs="hero-lead"] { font-size: 20px !important; font-weight: 400 !important; letter-spacing: .2em !important; text-transform: uppercase !important; }
html:root body.home.rezistancex-site:not(#rx-x) [data-rx-fs="hero-support"] { color: #fff !important; font-size: 16px !important; font-style: normal !important; text-transform: none !important; }
html:root body.home.rezistancex-site:not(#rx-x) [data-rx-fs="section-title"] { font-size: 30px !important; font-weight: 100 !important; text-transform: uppercase !important; }
html:root body.home.rezistancex-site:not(#rx-x) [data-rx-fs="row-title"] { font-size: 27px !important; font-weight: 100 !important; letter-spacing: .1em !important; text-transform: uppercase !important; }

/* ---------- Tokens ---------- */
@media (max-width: 1199px) {
	html:root body.home.rezistancex-site:not(#rx-x) {
		--rx-g: 40px;          /* side gutter */
		--rx-sec: 88px;        /* section vertical rhythm */
		--rx-h2: 26px;         /* section title */
		--rx-h2-ls: .18em;
	}
}
@media (max-width: 1023px) {
	html:root body.home.rezistancex-site:not(#rx-x) { --rx-g: 32px; --rx-sec: 80px; --rx-h2: 24px; }
}
@media (max-width: 767px) {
	html:root body.home.rezistancex-site:not(#rx-x) { --rx-g: 20px; --rx-sec: 64px; --rx-h2: 20px; --rx-h2-ls: .16em; }
}

@media (max-width: 1199px) {

	/* ---------- 1 · Header ---------- */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-header { padding-left: var(--rx-g) !important; padding-right: var(--rx-g) !important; }

	/* ---------- 2 · Hero ---------- */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero { height: 100svh !important; min-height: 600px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy {
		top: auto !important; bottom: 116px !important; left: 50% !important; transform: translateX(-50%) !important;
		width: calc(100% - 2 * var(--rx-g)) !important; max-width: 760px !important; padding: 0 !important; text-align: center !important;
	}
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy h1 { font-size: 32px !important; line-height: 1.2 !important; letter-spacing: .15em !important; margin: 0 0 22px !important; font-weight: 200 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy p > strong { font-size: 17px !important; font-weight: 400 !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: #fff !important; display: block !important; margin-bottom: 10px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy .rx-hero-supporting { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 4px 20px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy .rx-hero-supporting__item { font-size: 15px !important; color: #fff !important; text-transform: none !important; font-style: normal !important; }
	/* Film controls: centred under the copy, clear of the WhatsApp button. */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-film-actions {
		right: auto !important; left: 50% !important; bottom: 40px !important; transform: translateX(-50%) !important;
		justify-content: center !important; gap: 18px !important;
	}

	/* ---------- 3 · Explore the collections ---------- */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collections-pattern { padding-top: var(--rx-sec) !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-heading { padding: 0 var(--rx-g) !important; margin-bottom: 40px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-heading h2,
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-discover-models h2 { font-size: var(--rx-h2) !important; letter-spacing: var(--rx-h2-ls) !important; line-height: 1.3 !important; margin: 0 0 10px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-heading p,
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-discover-models p { font-size: 15px !important; margin: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel,
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-shell { width: 100% !important; max-width: none !important; height: auto !important; overflow: visible !important; padding: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel .rx-collection-track {
		display: grid !important; grid-auto-flow: row !important; grid-template-columns: repeat(3, 1fr) !important; grid-auto-columns: auto !important;
		gap: 2px !important; width: auto !important; height: auto !important; margin: 0 var(--rx-g) !important; padding: 0 !important; overflow: visible !important; transform: none !important; background: #000 !important;
	}
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel .rx-collection-card { width: auto !important; height: auto !important; aspect-ratio: 3 / 4 !important; margin: 0 !important; position: relative !important; overflow: hidden !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel .rx-collection-card__link { display: block !important; width: 100% !important; height: 100% !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel .rx-collection-card img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center top !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel .rx-collection-card h3 {
		position: absolute !important; left: 50% !important; right: auto !important; bottom: 22px !important; transform: translateX(-50%) !important;
		width: max-content !important; max-width: calc(100% - 24px) !important; margin: 0 !important; text-align: center !important;
		font-size: 15px !important; letter-spacing: .14em !important; line-height: 1.35 !important; text-wrap: balance !important;
	}
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel .rx-atelier-brandmark--collection { position: absolute !important; top: auto !important; bottom: 18px !important; left: 50% !important; transform: translateX(-50%) !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-shop-all { margin-top: 40px !important; }

	/* ---------- 4 · Discover the models ---------- */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-discover-models { padding: var(--rx-sec) var(--rx-g) 40px !important; height: auto !important; }

	/* ---------- 5 · Product rows (4:5 image everywhere, like desktop) ---------- */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row { padding: 0 var(--rx-g) !important; margin: 0 0 56px !important; height: auto !important; }
	/*
	 * Collection intro panels take their photo's ratio (--rx-intro-ratio is set by
	 * homepage-responsive.js from the image's real size; the fallback matches
	 * the 1136 x 1385 portraits), so "cover" fills the panel without cropping.
	 */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro {
		aspect-ratio: var(--rx-intro-ratio, 1136 / 1385) !important; height: auto !important; min-height: 0 !important;
		background-size: cover, cover !important; background-position: center, center !important; background-repeat: no-repeat !important;
	}
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card { height: auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-track,
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .swiper-wrapper { height: auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card__image { aspect-ratio: 4 / 5 !important; height: auto !important; background: #fff !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card__image img { width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card__copy { padding: 14px 14px 16px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card__category { font-size: 12px !important; margin: 0 0 6px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card__model { font-size: 15px !important; letter-spacing: .1em !important; margin: 0 0 6px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card__model a { font-size: inherit !important; letter-spacing: inherit !important; line-height: inherit !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card__color { font-size: 11px !important; letter-spacing: .14em !important; line-height: 1.45 !important; min-height: 2.9em !important; margin: 0 0 8px !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card__price { font-size: 14px !important; }

	/* ---------- 6 · Stickers ---------- */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home { padding: var(--rx-sec) var(--rx-g) !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__header h2 { font-size: 32px !important; letter-spacing: .2em !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__lead { font-size: 13px !important; letter-spacing: .18em !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__copy { font-size: 15px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__row { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 16px !important; justify-items: center !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__signal { width: 100% !important; max-width: none !important; margin: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__signal img { width: 100% !important; height: auto !important; aspect-ratio: 1 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__row--round { padding: 0 4% !important; margin-top: 24px !important; }

	/* ---------- 7 · Manifesto ---------- */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__frame { padding-left: var(--rx-g) !important; padding-right: var(--rx-g) !important; max-width: none !important; width: auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__intro h2 { font-size: var(--rx-h2) !important; letter-spacing: var(--rx-h2-ls) !important; line-height: 1.3 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__question h3 { font-size: 24px !important; line-height: 1.3 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__signup p { font-size: 15px !important; letter-spacing: .18em !important; line-height: 1.6 !important; }

	/* ---------- 8 · Footer ---------- */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-grid { padding-left: var(--rx-g) !important; padding-right: var(--rx-g) !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-bottom { padding-left: var(--rx-g) !important; padding-right: var(--rx-g) !important; }
}

/* ---------- Tablet landscape 1024-1199: desktop's side-by-side rows ---------- */
@media (min-width: 1024px) and (max-width: 1199px) {
	/* 348px wide at the photo's ratio is ~424px tall, the same height as the product cards beside it. */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row { grid-template-columns: 348px minmax(0, 1fr) !important; align-items: center !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro { width: 348px !important; max-width: none !important; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-track .rx-product-card.swiper-slide { width: 224px !important; flex: 0 0 auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-grid { display: grid !important; grid-template-columns: 1.4fr repeat(4, 1fr) !important; gap: 32px !important; }
}

/* ---------- Tablet portrait + mobile (<= 1023): row intro above its products ---------- */
@media (max-width: 1023px) {
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row { display: flex !important; flex-direction: column !important; }
	/* Full width; height follows the photo's own ratio so the background is never cropped. */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro {
		width: 100% !important; max-width: none !important; min-height: 0 !important; height: auto !important;
		padding: 56px 48px !important; margin: 0 0 2px !important; box-sizing: border-box !important;
		display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: flex-start !important;
	}
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro > * { margin: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro h2 { font-size: 26px !important; margin-bottom: 10px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro .rx-home-product-row__description { margin-bottom: 20px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro .rx-home-product-row__slogan { margin-bottom: 24px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-carousel { width: 100% !important; max-width: none !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-track .rx-product-card.swiper-slide { width: calc((100vw - 2 * var(--rx-g) - 4px) / 3.25) !important; flex: 0 0 auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-carousel__controls { display: none !important; }

	/* Manifesto stacks: intro, quiz, newsletter. */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__frame { display: block !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__intro { margin-bottom: 48px !important; min-height: 0 !important; height: auto !important; padding-bottom: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__copy { margin-bottom: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__qualification { margin: 0 !important; padding-top: 0 !important; min-height: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__steps { margin: 0 auto 32px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__signup { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 24px !important; margin-top: 64px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__signup p { max-width: 560px !important; margin: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__signup form { width: 100% !important; max-width: 520px !important; margin: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__social { display: flex !important; justify-content: center !important; width: 100% !important; }

	/* Footer: brand row, then a 2 x 2 grid. */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 48px 32px !important; padding-top: 64px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-brand { grid-column: 1 / -1 !important; width: auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-bottom { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; gap: 24px !important; padding-top: 24px !important; padding-bottom: 24px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-bottom > * { margin: 0 !important; }
}

/* ---------- Mobile <= 767 ---------- */
@media (max-width: 767px) {
	/* Header */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-header { padding-top: 12px !important; padding-bottom: 12px !important; --rx-header: 72px !important; min-height: 72px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-header-brand__image,
	html:root body.home.rezistancex-site:not(#rx-x) .rx-header-brand__image img { width: 40px !important; height: 40px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-header-brand p,
	html:root body.home.rezistancex-site:not(#rx-x) .rx-header-brand p a { font-size: 11px !important; }

	/* Hero */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy { bottom: 108px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy h1 { font-size: 24px !important; letter-spacing: .14em !important; margin-bottom: 18px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy p > strong { font-size: 13px !important; letter-spacing: .2em !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy .rx-hero-supporting { gap: 2px 14px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-hero__copy .rx-hero-supporting__item { font-size: 14px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-film-actions { bottom: 36px !important; }

	/* Collections: 2-up grid instead of six full-height tiles */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-heading { margin-bottom: 32px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel .rx-collection-track { grid-template-columns: repeat(2, 1fr) !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel .rx-collection-card h3 { font-size: 11px !important; letter-spacing: .14em !important; bottom: 14px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-carousel .rx-atelier-brandmark--collection { transform: translateX(-50%) scale(.62) !important; transform-origin: center bottom !important; bottom: 8px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-collection-shop-all { margin-top: 32px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-discover-models { padding-bottom: 32px !important; }

	/* Product rows: compact intro, 1.65 cards so the next one peeks in */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row { padding: 0 0 0 var(--rx-g) !important; margin-bottom: 48px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro { padding: 32px 28px !important; margin-right: var(--rx-g) !important; width: auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro h2 { font-size: 22px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro .rx-home-product-row__slogan { margin: 0 0 16px !important; font-size: 14px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row__intro .rx-home-product-row__slogan span { line-height: 1.6 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-track .rx-product-card.swiper-slide { width: calc((100vw - var(--rx-g)) / 1.65) !important; flex: 0 0 auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-home-product-row .rx-product-card__model { font-size: 14px !important; letter-spacing: .12em !important; }

	/* Stickers: 16:9 slides, swipe strips */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__carousel .swiper-slide { width: calc(100vw - 2 * var(--rx-g)) !important; height: auto !important; aspect-ratio: 16 / 9 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__carousel .swiper-slide img { width: 100% !important; height: 100% !important; min-height: 0 !important; max-height: none !important; object-fit: cover !important; transform: none !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__carousel-shell,
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__carousel { height: auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__carousel-arrow { display: none !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__header h2 { font-size: 22px !important; letter-spacing: .16em !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__lead { font-size: 12px !important; letter-spacing: .16em !important; line-height: 1.7 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__row {
		grid-template-columns: none !important; grid-auto-flow: column !important; grid-auto-columns: 40% !important; gap: 12px !important;
		overflow-x: auto !important; scroll-snap-type: x mandatory !important; margin-right: calc(-1 * var(--rx-g)) !important; padding: 0 var(--rx-g) 4px 0 !important; scrollbar-width: none !important;
	}
	/* Start-aligned so nothing overflows to the left, where a swipe strip cannot scroll. */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__row { justify-content: start !important; justify-items: start !important; margin-left: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__row--round { grid-auto-columns: 32% !important; margin-top: 20px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__signal { scroll-snap-align: start !important; grid-column: auto !important; grid-row: auto !important; order: 0 !important; transform: none !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-signals-home__link { width: 100% !important; max-width: none !important; justify-content: space-between !important; }

	/* Manifesto */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__question h3 { font-size: 20px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__copy { font-size: 15px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__signup p { font-size: 13px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-manifesto-home-cta__social a { width: 44px !important; height: 44px !important; display: grid !important; place-items: center !important; }

	/* Footer: centred brand, accordion groups (homepage-responsive.js toggles .is-open) */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-grid { display: block !important; padding-top: 56px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-brand { width: 100% !important; max-width: none !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; margin-bottom: 40px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-brand > * { margin-left: auto !important; margin-right: auto !important; max-width: 300px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-brand figure img { width: 72px !important; height: 72px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-brand .rx-footer-social { justify-content: center !important; max-width: none !important; width: auto !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-column { width: auto !important; border-top: 1px solid rgba(255,255,255,.14) !important; margin: 0 !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-column:last-child { border-bottom: 1px solid rgba(255,255,255,.14) !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-column h3 { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; min-height: 44px !important; margin: 0 !important; padding: 20px 0 !important; cursor: pointer !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-column h3::after { content: "+"; font-size: 18px; font-weight: 300; letter-spacing: 0; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-column nav { display: none !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-column.is-open h3::after { content: "\2013"; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-column.is-open nav { display: block !important; padding-bottom: 20px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-bottom { flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 6px !important; padding-top: 28px !important; padding-bottom: 96px !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-site-footer .rx-footer-credits { justify-content: center !important; }

	/* WhatsApp button */
	html:root body.home.rezistancex-site:not(#rx-x) .rx-whatsapp-float { right: 16px !important; bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important; }
	html:root body.home.rezistancex-site:not(#rx-x) .rx-whatsapp-float__icon { width: 48px !important; height: 48px !important; }
}

/* ==========================================================================
   Shop + category hero banner, phones only. Tablet and desktop already show
   the banner at its own ratio (--rx-archive-hero-ratio). On phones the copy
   needs more height than a 2.7:1 banner has, so the full banner sits on top
   at its true ratio and the copy follows below it - no crop.
   ========================================================================== */
@media (max-width: 767px) {
	html:root body.rezistancex-site:not(#rx-x) .rx-product-archive-page .rx-archive-hero[data-rx-hero-width] {
		display: block !important; aspect-ratio: auto !important; height: auto !important; min-height: 0 !important;
		padding: calc(100% / (var(--rx-archive-hero-ratio)) + 28px) 20px 40px !important;
		background-color: #000 !important; background-size: 100% auto !important; background-position: center top !important; background-repeat: no-repeat !important;
	}
	html:root body.rezistancex-site:not(#rx-x) .rx-product-archive-page .rx-archive-hero[data-rx-hero-width]::before {
		height: calc(100vw / (var(--rx-archive-hero-ratio))) !important; bottom: auto !important;
	}
	html:root body.rezistancex-site:not(#rx-x) .rx-product-archive-page .rx-archive-hero[data-rx-hero-width] .rx-archive-hero__copy {
		position: static !important; top: auto !important; left: auto !important; right: auto !important; transform: none !important;
		width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
	}
}
