/* Responsive refinements for the existing storefront and authored landing pages. */
@media (max-width: 1200px) {
	body.rwa-layout {
		--rwa-site-gutter: 20px;
		--rwa-shell: min(calc(100% - (var(--rwa-site-gutter) * 2)), var(--rwa-site-container));
	}

	body.rwa-layout .rwa-header-row {
		display: grid;
		gap: 4px 12px;
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 0;
		padding: 8px 0;
	}

	.rwa-header-row > .rwa-brand { grid-column: 1; min-width: 0; }
	.rwa-header-row > .rwa-nav-toggle { display: inline-flex; grid-column: 2; grid-row: 1; }
	body.rwa-layout .rwa-header-actions {
		grid-column: 1 / -1;
		justify-content: space-between;
		gap: 8px;
	}

	body.rwa-layout .rwa-header .rwa-icon-button,
	body.rwa-layout .rwa-nav-toggle {
		flex-shrink: 0;
		height: 44px;
		min-width: 44px;
		padding: 0 10px;
	}

	body.rwa-layout .rwa-announcement-inner {
		align-items: center;
		display: grid;
		gap: 4px 8px;
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 5px 0;
	}

	body.rwa-layout .rwa-announcement-list {
		flex-wrap: nowrap;
		gap: 20px;
		grid-column: 1 / -1;
		min-width: 0;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.rwa-announcement-list::-webkit-scrollbar { display: none; }
	.rwa-announcement-item { flex: 0 0 auto; white-space: nowrap; }
	body.rwa-layout .rwa-announcement-delivery {
		font-size: 10px;
		justify-content: flex-start;
		line-height: 1.4;
		min-width: 0;
		white-space: normal;
	}
	body.rwa-layout .rwa-announcement-meta { gap: 8px; width: auto; }
	body.rwa-layout .rwa-currency-switcher { font-size: 10px; }

	body.rwa-layout .rwa-primary-nav {
		background: rgba(15, 18, 21, 0.98);
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 12px;
		box-shadow: 0 18px 38px rgba(7, 10, 12, 0.18);
		bottom: auto;
		display: none;
		left: var(--rwa-site-gutter);
		max-height: calc(100vh - var(--rwa-nav-top, 160px) - 12px);
		max-height: calc(100dvh - var(--rwa-nav-top, 160px) - 12px);
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 8px 16px;
		position: fixed;
		right: var(--rwa-site-gutter);
		top: var(--rwa-nav-top, 160px);
	}
	body.rwa-layout .rwa-primary-nav.is-open { display: block; }
	body.rwa-layout .rwa-menu { align-items: stretch; flex-direction: column; gap: 2px; }
	body.rwa-layout .rwa-menu .sub-menu {
		background: transparent;
		border: 0;
		box-shadow: none;
		margin-left: 10px;
		opacity: 1;
		padding: 4px 0 0;
		pointer-events: auto;
		position: static;
		transform: none;
	}

	body.rwa-layout .rwa-primary-nav .rwa-menu a {
		align-items: center;
		display: flex;
		font-size: 15px;
		line-height: 1.4;
		min-height: 44px;
		padding: 10px 0;
		white-space: normal;
	}
	body.rwa-layout .rwa-menu .sub-menu { min-width: 0; }
	body.rwa-layout .rwa-primary-nav .sub-menu a { color: rgba(255, 248, 238, 0.84); }

	body.rwa-layout .rwa-search-panel { padding: 16px; }
	body.rwa-layout .rwa-search-dialog {
		max-height: calc(100vh - 32px);
		max-height: calc(100dvh - 32px);
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 52px 20px 24px;
	}
	body.rwa-layout .rwa-search-dialog h2 { font-size: 32px; line-height: 1.15; max-width: none; }
	body.rwa-layout .rwa-search-close { height: 44px; width: 44px; }
}

@media (max-width: 992px) {

	body.rwa-layout .rwa-hero-copy { padding: 0 var(--rwa-site-gutter) 24px; }
	body.rwa-layout .rwa-hero-actions { flex-wrap: wrap; gap: 12px; }
	body.rwa-layout .rwa-hero-slider-arrow { bottom: 215px; top: auto; transform: translateY(50%); }
	body.rwa-layout .rwa-hero-pagination { bottom: 8px; gap: 0; }
	body.rwa-layout .rwa-hero-pagination button { background-clip: content-box; box-sizing: border-box; height: 44px; padding: 18px; width: 44px; }
	body.rwa-layout .rwa-button { height: auto; min-height: 48px; padding: 12px 20px; line-height: 1.4; }

	body.rwa-layout.woocommerce #main .row > [class*="col-md-"],
	body.rwa-layout.woocommerce #main .row > [class*="col-lg-"] {
		flex: 0 0 100%;
		max-width: 100%;
	}

	body.rwa-layout main img,
	body.rwa-layout main video,
	body.rwa-layout main iframe { max-width: 100%; }
	body.rwa-layout main video { height: auto; }
	body.rwa-layout main pre { max-width: 100%; overflow-x: auto; }
	body.rwa-layout .rwa-table-scroll {
		max-width: 100%;
		overflow-x: auto;
		overscroll-behavior-x: contain;
	}
	body.rwa-layout .rwa-table-scroll:focus-visible { outline: 2px solid var(--rwa-gold-deep); outline-offset: 2px; }

	body.rwa-layout main :is(input, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
	body.rwa-layout .rwa-search-form-wrap :is(input, select),
	body.rwa-layout .rwa-newsletter-form input {
		box-sizing: border-box;
		font-size: 16px;
		max-width: 100%;
		min-height: 44px;
	}
	body.rwa-layout main :is(input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="tel"], input[type="search"], textarea):not(.qty) { width: 100%; }
	body.rwa-layout main textarea { min-height: 140px; }
	body.rwa-layout main :is(button, input[type="submit"], .button, .wp-element-button, .elementor-button) {
		min-height: 44px;
		max-width: 100%;
		white-space: normal;
	}
	body.rwa-layout main :is(p, li, h1, h2, h3, label, a, td, th) { overflow-wrap: anywhere; }
	body.rwa-layout main input[type="checkbox"],
	body.rwa-layout main input[type="radio"] { height: 18px; width: 18px; flex-shrink: 0; }

	body.rwa-layout .entry-content .elementor-widget,
	body.rwa-layout .entry-content .e-con,
	body.rwa-layout .entry-content .e-con-inner,
	body.rwa-layout .entry-content .wp-block-column { min-width: 0; }
	body.rwa-layout .entry-content .elementor-widget-text-editor > .elementor-widget-container > :last-child { margin-bottom: 0; }

	/* Fixed desktop heights need to relax on portrait tablets too. */
	body.rwa-layout .entry-content .hero { height: auto; min-height: 480px; padding: 56px 32px 72px; }
	body.rwa-layout .entry-content .hero h1 { font-size: 48px; line-height: 1.15; }
	body.rwa-layout .entry-content .rwa-shop-hero { height: auto; min-height: 0; }
	body.rwa-layout .entry-content .rwa-shop-hero-content { inset: auto; min-height: 600px; padding: 48px 32px 112px; position: relative; }
	body.rwa-layout .entry-content .rwa-shop-hero-title { color: #fff; font-size: 44px; }
	body.rwa-layout .entry-content .rwa-shop-arrow { bottom: 24px; height: 44px; left: auto; top: auto; transform: none; width: 44px; }
	body.rwa-layout .entry-content .rwa-shop-arr-l { right: 80px; }
	body.rwa-layout .entry-content .rwa-shop-arr-r { right: 24px; }
	body.rwa-layout .entry-content .rwa-shop-counter { bottom: 80px; right: 24px; }
	body.rwa-layout .entry-content .rwa-shop-dots { bottom: 44px; left: 24px; }
	body.rwa-contact-page main .form-group :is(input, textarea)::placeholder { color: rgba(255, 255, 255, 0.6); opacity: 1; }
	body.rwa-about-page .entry-content .alignfull { margin-left: 0; margin-right: 0; max-width: 100%; width: 100%; }
	body.rwa-about-page .entry-content .wp-block-cover { min-height: 480px !important; padding: 40px 28px !important; }
	body.rwa-about-page .entry-content .wp-block-heading { font-size: 40px !important; line-height: 1.2 !important; }
	body.rwa-about-page .entry-content .wp-block-column[style*="min-height"],
	body.rwa-about-page .entry-content .wp-block-column > div[style*="min-height"] { min-height: 360px !important; }
	body.rwa-about-page .entry-content .wp-block-column.has-background { padding: 40px 28px !important; }
	body.rwa-about-page .entry-content .wp-block-column img { max-height: 460px; object-fit: cover; width: 100%; }
}

@media (min-width: 577px) and (max-width: 1200px) {
	body.rwa-layout .rwa-header-row { grid-template-columns: minmax(0, 1fr) auto auto; }
	body.rwa-layout .rwa-header-actions { grid-column: 2; grid-row: 1; }
	.rwa-header-row > .rwa-nav-toggle { grid-column: 3; }
}

@media (max-width: 767px) {
	body.rwa-layout { --rwa-site-gutter: 16px; }
	body.rwa-layout .rwa-site { font-size: 16px; }
	body.rwa-layout .rwa-brand { gap: 10px; }
	body.rwa-layout .rwa-brand-mark { height: 28px; width: 28px; margin-left: 6px; }
	body.rwa-layout .rwa-brand-title { font-size: 25px; }
	body.rwa-layout .rwa-brand-tagline { font-size: 8px; letter-spacing: 0.16em; }
	body.rwa-layout .rwa-announcement-item { font-size: 10px; line-height: 1.4; }
	body.rwa-layout .rwa-header-row { padding: 4px 0; }

	body.rwa-layout .rwa-search-form-wrap .search-form { grid-template-columns: minmax(0, 1fr); }
	body.rwa-layout .rwa-search-form-wrap .search-submit { width: 100%; }

	body.rwa-layout .rwa-hero-grid { padding-top: 28px; }
	body.rwa-layout .rwa-hero-copy h1 { font-size: clamp(30px, 8vw, 38px); line-height: 1.12; }
	body.rwa-layout .rwa-hero-summary { font-size: 15px; line-height: 1.7; }
	body.rwa-layout .rwa-hero-actions .rwa-button { font-size: 12px; }
	body.rwa-layout .rwa-hero-visual,
	body.rwa-layout .rwa-hero-scene { min-height: 320px; }
	body.rwa-layout .rwa-hero-slider-arrow { bottom: 160px; height: 44px; width: 44px; }

	body.rwa-layout .rwa-trust { padding: 24px 0; }
	body.rwa-layout .rwa-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
	body.rwa-layout .rwa-trust-card { align-items: flex-start; flex-direction: column; gap: 10px; padding: 0; }
	body.rwa-layout .rwa-trust-card h2 { font-size: 15px; line-height: 1.3; }
	body.rwa-layout .rwa-trust-card p { font-size: 13px; line-height: 1.6; }
	body.rwa-layout .rwa-categories,
	body.rwa-layout .rwa-products { padding: 40px 0; }
	body.rwa-layout .rwa-section-heading { margin-bottom: 24px; }
	body.rwa-layout .rwa-section-heading h2,
	body.rwa-layout .rwa-story-copy h2 { font-size: clamp(27px, 7.4vw, 34px); line-height: 1.15; }
	body.rwa-layout .rwa-section-kicker { font-size: 11px; letter-spacing: 0.12em; }
	body.rwa-layout .rwa-section-heading-split { gap: 14px; }
	body.rwa-layout .rwa-link-inline { align-items: center; display: inline-flex; min-height: 44px; }
	body.rwa-layout .rwa-category-copy { min-height: 122px; gap: 8px; padding: 14px; }
	body.rwa-layout .rwa-category-copy strong { font-size: 16px; }
	body.rwa-layout .rwa-category-parent { font-size: 11px; letter-spacing: 0.06em; }
	body.rwa-layout .rwa-carousel-arrow { height: 44px; width: 44px; }
	body.rwa-layout .rwa-product-wishlist { height: 44px; width: 44px; }
	body.rwa-layout .rwa-story-copy { padding: 32px 20px; }
	body.rwa-layout .rwa-story-copy p { font-size: 15px; line-height: 1.7; }
	body.rwa-layout .rwa-story-media { min-height: 260px; height: 300px; }
	body.rwa-layout .rwa-promise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	body.rwa-layout .rwa-promise-card h3 { font-size: 12px; }
	body.rwa-layout .rwa-promise-card p { font-size: 12px; line-height: 1.5; }

	body.rwa-layout .rwa-newsletter { padding: 24px 0; }
	body.rwa-layout .rwa-newsletter-inner { gap: 20px; }
	body.rwa-layout .rwa-newsletter-copy { align-items: flex-start; flex-direction: row; gap: 12px; }
	body.rwa-layout .rwa-newsletter-copy h2 { font-size: 22px; line-height: 1.2; }
	body.rwa-layout .rwa-newsletter-copy p { font-size: 14px; line-height: 1.5; }
	body.rwa-layout .rwa-newsletter-form { gap: 10px; }
	body.rwa-layout .rwa-newsletter-form .rwa-button { width: 100%; }
	body.rwa-layout .rwa-footer { padding: 32px 0 24px; }
	body.rwa-layout .rwa-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
	body.rwa-layout .rwa-footer-brand,
	body.rwa-layout .rwa-footer-contact { grid-column: 1 / -1; }
	body.rwa-layout .rwa-footer-column h2 { font-size: 13px; }
	body.rwa-layout .rwa-footer-column li { margin: 0; }
	body.rwa-layout .rwa-footer-column a { align-items: center; display: inline-flex; font-size: 14px; min-height: 44px; overflow-wrap: anywhere; }
	body.rwa-layout .rwa-footer-contact li { align-items: center; min-height: 44px; }
	body.rwa-layout .rwa-footer-brand p { font-size: 14px; line-height: 1.7; max-width: none; }
	body.rwa-layout .rwa-footer-bottom { margin-top: 24px; }

	/* Existing WordPress templates and block/Elementor content. */
	body.rwa-layout .rwa-site > .container,
	body.rwa-layout main.main-content > .container {
		max-width: 100%;
		padding-left: 16px;
		padding-right: 16px;
		width: 100%;
	}
	body.rwa-layout main .entry-content { min-width: 0; }
	body.rwa-layout main h1 { font-size: clamp(26px, 7vw, 32px); line-height: 1.2; }
	body.rwa-layout main h2 { font-size: 24px; line-height: 1.3; }
	body.rwa-layout main h3 { font-size: 20px; line-height: 1.3; }
	body.rwa-layout main .entry-content { font-size: 16px; line-height: 1.7; }
	body.rwa-layout .entry-content .e-con { --container-default-padding-left: 0; --container-default-padding-right: 0; }
	body.rwa-layout .entry-content .e-con > .e-con-inner { padding-left: 0; padding-right: 0; }
	body.rwa-layout .entry-content .wp-block-columns { flex-wrap: wrap !important; gap: 24px; }
	body.rwa-layout .entry-content .wp-block-columns > .wp-block-column { flex-basis: 100% !important; width: 100%; }
	body.rwa-layout .entry-content .wp-block-buttons { gap: 12px; }
	body.rwa-layout .entry-content .wp-block-button { max-width: 100%; }
	body.rwa-layout .entry-content .wp-block-button__link { padding: 12px 18px; font-size: 14px; line-height: 1.5; }

	/* Category, tag, shop and related-product grids. */
	body.rwa-layout.woocommerce ul.products,
	body.rwa-layout .woocommerce ul.products,
	body.rwa-layout .wc-block-grid .wc-block-grid__products {
		display: grid;
		gap: 24px 14px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 0 0 28px;
		padding: 0;
	}
	body.rwa-layout.woocommerce ul.products::before,
	body.rwa-layout.woocommerce ul.products::after,
	body.rwa-layout .woocommerce ul.products::before,
	body.rwa-layout .woocommerce ul.products::after { display: none; }
	body.rwa-layout.woocommerce ul.products li.product,
	body.rwa-layout .woocommerce ul.products li.product,
	body.rwa-layout .wc-block-grid .wc-block-grid__product {
		border: 0;
		display: flex;
		flex-direction: column;
		float: none;
		margin: 0;
		max-width: none;
		min-width: 0;
		padding: 0;
		width: 100%;
	}
	body.rwa-layout.woocommerce ul.products li.product img,
	body.rwa-layout .woocommerce ul.products li.product img,
	body.rwa-layout .wc-block-grid__product-image img {
		aspect-ratio: 1;
		height: auto;
		object-fit: cover;
		width: 100%;
	}
	body.rwa-layout.woocommerce ul.products li.product :is(.woocommerce-loop-product__title, .woocommerce-loop-category__title),
	body.rwa-layout .woocommerce ul.products li.product :is(.woocommerce-loop-product__title, .woocommerce-loop-category__title) {
		font-size: 15px;
		line-height: 1.4;
		padding: 10px 0;
	}
	body.rwa-layout.woocommerce ul.products li.product .price,
	body.rwa-layout .woocommerce ul.products li.product .price { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
	body.rwa-layout.woocommerce ul.products li.product :is(.button, .added_to_cart, .wa-shop-button),
	body.rwa-layout .woocommerce ul.products li.product :is(.button, .added_to_cart, .wa-shop-button) {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		font-size: 13px;
		justify-content: center;
		line-height: 1.35;
		margin: 8px 0 0;
		min-height: 44px;
		padding: 10px 8px;
		text-align: center;
		white-space: normal;
		width: 100%;
	}
	body.rwa-layout.woocommerce .woocommerce-ordering,
	body.rwa-layout.woocommerce .woocommerce-result-count { float: none; margin: 12px 0 16px; width: 100%; }
	body.rwa-layout.woocommerce .woocommerce-ordering select { max-width: 100%; width: 100%; }
	body.rwa-layout .woocommerce-breadcrumb { font-size: 13px; line-height: 1.6; margin: 16px 0; overflow-wrap: anywhere; }
	body.rwa-layout .woocommerce-pagination ul li :is(a, span) { min-height: 44px; min-width: 44px; padding: 12px; }
	body.rwa-layout #sidebar .widget,
	body.rwa-layout .widget-area .widget { margin-bottom: 24px; padding: 16px; }
	body.rwa-layout #sidebar .widget-title { font-size: 22px; }
	body.rwa-layout #sidebar a { display: inline-block; min-height: 44px; padding: 10px 0; }

	/* Product detail, reviews and add-to-cart controls. */
	body.rwa-layout.woocommerce div.product div.images,
	body.rwa-layout.woocommerce div.product div.summary { float: none; margin: 0 0 24px; width: 100%; }
	body.rwa-layout .woocommerce-product-gallery__image img { height: auto; max-height: 420px; object-fit: contain; width: 100%; }
	body.rwa-layout.woocommerce div.product .product_title { font-size: 28px; line-height: 1.25; }
	body.rwa-layout.woocommerce div.product .summary .price { font-size: 20px; line-height: 1.5; }
	body.rwa-layout.woocommerce div.product form.cart { align-items: stretch; display: flex; flex-wrap: wrap; gap: 12px; }
	body.rwa-layout.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
	body.rwa-layout.woocommerce div.product form.cart .qty { min-height: 48px; width: 80px; }
	body.rwa-layout.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 48px; padding: 12px 16px; }
	body.rwa-layout.woocommerce div.product form.variations_form { display: block; }
	body.rwa-layout.woocommerce div.product form.cart .variations { width: 100%; }
	body.rwa-layout.woocommerce div.product form.cart .variations select { width: 100%; }
	body.rwa-layout.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; }
	body.rwa-layout.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 1; margin: 0; min-width: 120px; padding: 0; text-align: center; }
	body.rwa-layout.woocommerce div.product .woocommerce-tabs ul.tabs li a { min-height: 44px; padding: 12px; }
	body.rwa-layout .product_meta { font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
	body.rwa-layout .woocommerce #reviews #comments ol.commentlist { padding-left: 0; }
	body.rwa-layout .woocommerce #reviews #comments ol.commentlist li .comment-text { margin-left: 44px; padding: 12px; }

	/* Native WooCommerce cart, account and checkout layouts. */
	body.rwa-layout .woocommerce form :is(.form-row-first, .form-row-last),
	body.rwa-layout .woocommerce :is(.col2-set .col-1, .col2-set .col-2, .cart-collaterals .cart_totals, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) {
		float: none;
		max-width: 100%;
		width: 100%;
	}
	body.rwa-layout .woocommerce .col2-set { display: block; }
	body.rwa-layout .woocommerce form .form-row { display: block; margin: 0 0 16px; padding: 0; }
	body.rwa-layout .woocommerce form .form-row label { font-size: 15px; line-height: 1.5; margin-bottom: 6px; }
	body.rwa-layout .woocommerce form .form-row :is(input.input-text, textarea, select) { font-size: 16px; min-height: 48px; width: 100%; }
	body.rwa-layout .woocommerce form :is(.woocommerce-form__label-for-checkbox, .woocommerce-form-login__rememberme) { align-items: center; display: inline-flex; gap: 8px; min-height: 44px; }
	body.rwa-layout .woocommerce form.login,
	body.rwa-layout .woocommerce form.register { margin: 20px 0; padding: 20px 16px; }
	body.rwa-layout .woocommerce .show-password-input { align-items: center; display: inline-flex; height: 44px; justify-content: center; right: 0; top: 2px; width: 44px; }
	body.rwa-layout .woocommerce input[type="password"] { padding-right: 48px; }
	body.rwa-layout .woocommerce-MyAccount-navigation { margin-bottom: 24px; }
	body.rwa-layout .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
	body.rwa-layout .woocommerce-MyAccount-navigation a { display: block; min-height: 44px; padding: 10px 12px; }
	body.rwa-layout .woocommerce :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; padding: 16px 16px 16px 40px; }
	body.rwa-layout .woocommerce :is(.woocommerce-info, .woocommerce-message) .button { float: none; margin: 0 0 12px; }
	body.rwa-layout .woocommerce table.shop_table { font-size: 14px; table-layout: auto; width: 100%; }
	body.rwa-layout .woocommerce table.shop_table :is(td, th) { padding: 12px; }
	body.rwa-layout .woocommerce table.shop_table_responsive tr td { min-height: 44px; }
	body.rwa-layout .woocommerce a.remove { align-items: center; display: inline-flex; height: 44px; justify-content: center; width: 44px; }
	body.rwa-layout .woocommerce .cart .actions .coupon { display: flex; float: none; flex-wrap: wrap; gap: 10px; padding-bottom: 14px; }
	body.rwa-layout .woocommerce .cart .actions .coupon .input-text,
	body.rwa-layout .woocommerce .cart .actions .coupon .button { float: none; margin: 0; width: 100%; }
	body.rwa-layout .woocommerce .cart .actions > .button { width: 100%; }
	body.rwa-layout .woocommerce .wc-proceed-to-checkout a.checkout-button { font-size: 16px; min-height: 48px; padding: 16px; }
	body.rwa-layout .woocommerce-checkout #payment ul.payment_methods { padding: 16px; }
	body.rwa-layout .woocommerce-checkout #payment div.form-row { padding: 16px; }
	body.rwa-layout .select2-container { max-width: 100%; }
	body.rwa-layout .select2-container .select2-selection--single { min-height: 48px; }
	body.rwa-layout .select2-container--default .select2-selection--single .select2-selection__rendered { font-size: 16px; line-height: 46px; padding-left: 12px; }
	body.rwa-layout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
	body.rwa-layout .wc-block-components-text-input :is(input, label),
	body.rwa-layout .wc-block-components-combobox .components-combobox-control__input { font-size: 16px; }
	body.rwa-layout .wc-block-components-button { min-height: 48px; }

	/* Existing About page block composition. */
	body.rwa-about-page .entry-content .wp-block-cover { min-height: 420px !important; padding: 36px 20px !important; }
	body.rwa-about-page .entry-content .wp-block-heading { font-size: 32px !important; line-height: 1.2 !important; letter-spacing: 0.03em !important; }
	body.rwa-about-page .entry-content .wp-block-columns { gap: 0; }
	body.rwa-about-page .entry-content .wp-block-column.has-background { padding: 32px 20px !important; }
	body.rwa-about-page .entry-content .wp-block-column[style*="min-height"],
	body.rwa-about-page .entry-content .wp-block-column > div[style*="min-height"] { min-height: 300px !important; }
	body.rwa-about-page .entry-content .wp-block-column img { max-height: 360px; object-fit: cover; width: 100%; }
	body.rwa-about-page .entry-content .wp-block-group.has-background { padding: 32px 20px !important; }
	body.rwa-about-page .entry-content p { line-height: 1.7 !important; }

	/* Existing Contact and story landing-page sections. */
	body.rwa-layout .entry-content .hero { height: auto; min-height: 380px; padding: 48px 20px 64px; }
	body.rwa-layout .entry-content .hero-content { max-width: 100%; }
	body.rwa-layout .entry-content .hero h1 { font-size: clamp(34px, 9vw, 44px); line-height: 1.12; }
	body.rwa-layout .entry-content :is(.hero-sub, .hero-desc) { font-size: 15px; line-height: 1.7; letter-spacing: 0.04em; }
	body.rwa-layout .entry-content .hero-eyebrow { font-size: 11px; letter-spacing: 0.12em; }
	body.rwa-layout .entry-content .contact-section { gap: 28px; padding: 32px 16px; }
	body.rwa-layout .entry-content .form-side h2 { font-size: 30px; }
	body.rwa-contact-page main .wrapper > h1,
	body.rwa-contact-page main .entry-header .entry-title { color: #fff; }
	body.rwa-layout .entry-content .form-group label { font-size: 13px; letter-spacing: 0.08em; }
	body.rwa-layout .entry-content .btn-submit { justify-content: center; padding: 12px 16px; width: 100%; }
	body.rwa-layout .entry-content .info-side { gap: 24px; }
	body.rwa-layout .entry-content .info-item { min-width: 0; }
	body.rwa-layout .entry-content .info-text { min-width: 0; overflow-wrap: anywhere; }
	body.rwa-layout .entry-content .info-text :is(a, p) { font-size: 15px; line-height: 1.6; }
	body.rwa-layout .entry-content .map-strip iframe { height: 260px; width: 100%; }
	body.rwa-layout .entry-content .social-row { flex-wrap: wrap; gap: 10px; }
	body.rwa-layout .entry-content .social-btn { align-items: center; display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; }
	body.rwa-layout .entry-content nav:has(.nav-links) { align-items: flex-start; flex-wrap: wrap; gap: 12px; padding: 16px; position: static; }
	body.rwa-layout .entry-content .nav-links { flex-wrap: wrap; gap: 8px 16px; }
	body.rwa-layout .entry-content .nav-links a { display: inline-flex; min-height: 44px; align-items: center; }
	body.rwa-layout .entry-content :is(.story-grid, .mission-grid, .styles-grid) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	body.rwa-layout .entry-content :is(.mission-section, .styles-section, .founder-section) { padding: 36px 20px; }
	body.rwa-layout .entry-content .story-grid { padding: 32px 20px; }
	body.rwa-layout .entry-content .section-title { font-size: 30px; line-height: 1.2; }
	body.rwa-layout .entry-content .founder-quote { font-size: 24px; line-height: 1.4; }

	/* Authored shop and cart landing pages retain their imagery and styling. */
	body.rwa-layout .entry-content .rwa-shop-hero-content { max-width: none; min-height: 520px; padding: 32px 24px 112px; }
	body.rwa-layout .entry-content .rwa-shop-hero-title { color: #fff; font-size: 36px; line-height: 1.12; }
	body.rwa-layout .entry-content .rwa-shop-hero-script { color: rgba(255, 255, 255, 0.85); }
	body.rwa-layout .entry-content .rwa-shop-hero-tag { font-size: 10px; letter-spacing: 0.12em; margin-bottom: 20px; padding: 8px 12px; }
	body.rwa-layout .entry-content .rwa-shop-hero-script { font-size: 17px; margin-bottom: 24px; }
	body.rwa-layout .entry-content .rwa-shop-hero-btns { gap: 10px; width: 100%; }
	body.rwa-layout .entry-content :is(.rwa-shop-btn-gold, .rwa-shop-btn-outline) { display: inline-flex; justify-content: center; min-height: 44px; padding: 12px 16px; letter-spacing: 0.08em; }
	body.rwa-layout .entry-content .rwa-shop-arrow { height: 44px; width: 44px; }
	body.rwa-layout .entry-content .rwa-filter-bar { align-items: flex-start; flex-direction: column; gap: 12px; padding: 20px 16px; }
	body.rwa-layout .entry-content .rwa-filter-tags { flex-wrap: wrap; gap: 8px; }
	body.rwa-layout .entry-content .rwa-filter-tag { align-items: center; display: inline-flex; min-height: 44px; padding: 10px 12px; }
	body.rwa-layout .entry-content .rwa-products-header { padding: 28px 16px; }
	body.rwa-layout .entry-content .rwa-products-title { font-size: 30px; }
	body.rwa-layout .entry-content .wp-block-query.rwa-shop-page { padding: 0 16px 32px !important; }
	body.rwa-layout .entry-content .rwa-shop-page .wp-block-post-template { display: grid; gap: 20px 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.rwa-layout .entry-content .rwa-shop-page .wp-block-post-title { font-size: 16px; }
	body.rwa-layout .entry-content .rwa-shop-page .wp-block-post-featured-image img { aspect-ratio: 1; height: auto; object-fit: cover; width: 100%; }
	body.rwa-layout .entry-content .rwa-shop-page .wp-block-post-template .wp-block-spacer { height: 8px !important; }
	body.rwa-layout .entry-content .rwa-shop-page .wp-block-button__link { font-size: 12px; letter-spacing: 0; padding: 10px 8px; }
	body.rwa-layout .entry-content .rwa-mid-banner { min-height: 300px; }
	body.rwa-layout .entry-content .rwa-mid-banner-content { padding: 32px 20px; }
	body.rwa-layout .entry-content .rwa-photo-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.rwa-layout .entry-content .rwa-photo-strip-item { min-width: 0; }
	body.rwa-layout .entry-content .rwa-shop-trust { padding: 32px 16px; }
	body.rwa-layout .entry-content .rwa-shop-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
	body.rwa-layout .entry-content .rwa-shop-footer { padding: 28px 16px; }
	body.rwa-layout .entry-content .rwa-cart-hero { height: 200px; min-height: 0; }
	body.rwa-layout .entry-content .rwa-cart-hero-title { font-size: 34px; }
	body.rwa-layout .entry-content .rwa-empty-cart { min-height: 0; padding: 36px 20px; }
	body.rwa-layout .entry-content .rwa-empty-title { font-size: 30px; }
	body.rwa-layout .entry-content .rwa-empty-btn { min-height: 44px; padding: 12px 20px; letter-spacing: 0.1em; }
	body.rwa-layout .entry-content .rwa-trust-strip { padding: 32px 16px; }
	body.rwa-layout .entry-content .rwa-footer-tagline { padding: 28px 16px; }

	body.rwa-layout main .comment-form :is(input:not([type="checkbox"]), textarea) { box-sizing: border-box; max-width: 100%; }
	body.rwa-layout main .comment-form .comment-form-cookies-consent { align-items: flex-start; display: flex; gap: 10px; }
	body.rwa-layout main .comment-form .comment-form-cookies-consent label { line-height: 1.6; }
	body.rwa-layout .wa-shop-button,
	body.rwa-layout .wa-order-button { min-height: 44px; }
}

@media (max-width: 359px) {
	body.rwa-layout .rwa-brand-title { font-size: 23px; }
	body.rwa-layout .rwa-brand-tagline { font-size: 7px; }
	body.rwa-layout .rwa-announcement-delivery { font-size: 9px; }
	body.rwa-layout .rwa-hero-actions .rwa-button { width: 100%; }
}

@media (max-width: 1200px) and (max-height: 500px) {
	body.rwa-layout .rwa-header { position: relative; }
	body.rwa-layout .rwa-primary-nav { max-height: calc(100dvh - var(--rwa-nav-top, 100px) - 8px); }
}

@media (max-width: 992px) {
	body.rwa-layout main,
	body.rwa-layout main [id] { scroll-margin-top: calc(var(--rwa-header-height, 150px) + 16px); }
}
