/**
 * Regency SEO Enhancer — front-end blocks.
 * Typography and palette aligned with apple.com marketing pages (SF / system stack,
 * #1d1d1f text hierarchy, 17px body rhythm, tight headline tracking).
 */

/* Shared Apple-like tokens on all RSE surfaces */
.rse-internal-links,
.rse-archive-intro,
.rse-archive-guide,
.rse-archive-links,
.rse-product-seo,
.rse-faq,
.rse-product-links {
	--rse-apple-fg: #1d1d1f;
	--rse-apple-fg-secondary: #6e6e73;
	--rse-apple-fg-tertiary: #86868b;
	--rse-apple-link: #06c;
	--rse-apple-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
		"Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
	--rse-apple-body-size: 1.0625rem; /* 17px */
	--rse-apple-body-leading: 1.4705882353; /* ~25/17 */
	--rse-apple-subhead-size: 1.1875rem; /* 19px */
	--rse-apple-heading-size: 1.75rem; /* 28px */
	--rse-apple-heading-tracking: -0.022em;

	font-family: var(--rse-apple-font);
	color: var(--rse-apple-fg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	max-width: 72rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 1rem 1.5rem;
	box-sizing: border-box;
}

/* Section titles — Apple “headline” weight & tracking */
.rse-internal-links__title,
.rse-archive-guide__title,
.rse-archive-links__title,
.rse-faq__title,
.rse-product-seo__heading,
.rse-product-links__title {
	font-size: var(--rse-apple-heading-size);
	font-weight: 600;
	line-height: 1.1428571429;
	letter-spacing: var(--rse-apple-heading-tracking);
	margin: 0 0 0.65rem;
	color: var(--rse-apple-fg);
}

@media (max-width: 734px) {
	.rse-internal-links__title,
	.rse-archive-guide__title,
	.rse-archive-links__title,
	.rse-faq__title,
	.rse-product-seo__heading,
	.rse-product-links__title {
		font-size: 1.5rem; /* 24px */
		letter-spacing: -0.018em;
	}
}

/* Link lists */
.rse-internal-links__list,
.rse-product-links ul,
.rse-archive-links ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
}

.rse-internal-links__list a,
.rse-product-links a,
.rse-archive-links a {
	font-size: var(--rse-apple-body-size);
	line-height: var(--rse-apple-body-leading);
	font-weight: 400;
	color: var(--rse-apple-link);
	text-decoration: none;
}

.rse-internal-links__list a:hover,
.rse-internal-links__list a:focus-visible,
.rse-product-links a:hover,
.rse-product-links a:focus-visible,
.rse-archive-links a:hover,
.rse-archive-links a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Archive intro — subhead / lead */
.rse-archive-intro {
	font-size: var(--rse-apple-subhead-size);
	line-height: var(--rse-apple-body-leading);
	font-weight: 400;
	color: var(--rse-apple-fg-secondary);
	margin-bottom: 1rem;
}

.rse-archive-intro p {
	margin: 0 0 0.75rem;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.rse-archive-intro p:last-child {
	margin-bottom: 0;
}

/* Body copy blocks */
.rse-archive-guide__body,
.rse-product-seo__inner {
	font-size: var(--rse-apple-body-size);
	line-height: var(--rse-apple-body-leading);
	font-weight: 400;
	color: var(--rse-apple-fg-secondary);
}

.rse-archive-guide__body p,
.rse-product-seo__inner p {
	margin: 0 0 0.85rem;
	font-size: inherit;
	line-height: inherit;
}

.rse-archive-guide__body p:last-child,
.rse-product-seo__inner p:last-child {
	margin-bottom: 0;
}

.rse-archive-guide__body a,
.rse-product-seo__inner a {
	color: var(--rse-apple-link);
	text-decoration: none;
}

.rse-archive-guide__body a:hover,
.rse-product-seo__inner a:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* FAQ */
.rse-faq__item {
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	padding: 0.85rem 1rem;
	margin-bottom: 0.5rem;
	background: #fff;
}

.rse-faq__item summary {
	cursor: pointer;
	font-size: var(--rse-apple-body-size);
	line-height: var(--rse-apple-body-leading);
	font-weight: 600;
	color: var(--rse-apple-fg);
	list-style: none;
}

.rse-faq__item summary::-webkit-details-marker {
	display: none;
}

.rse-faq__answer {
	margin-top: 0.65rem;
	padding-top: 0.65rem;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
	font-size: var(--rse-apple-body-size);
	line-height: var(--rse-apple-body-leading);
	font-weight: 400;
	color: var(--rse-apple-fg-secondary);
}

.rse-faq__answer p {
	margin: 0 0 0.65rem;
}

.rse-faq__answer p:last-child {
	margin-bottom: 0;
}

/* “Last updated” — tertiary / caption */
.rse-product-seo__updated {
	font-family: var(--rse-apple-font);
	font-size: 0.75rem;
	line-height: 1.3333333333;
	font-weight: 400;
	color: var(--rse-apple-fg-tertiary);
	margin: 0 1rem 2rem;
	text-align: center;
}

.rse-product-seo__updated small {
	font-size: inherit;
}

@media (max-width: 600px) {
	.rse-internal-links__list,
	.rse-product-links ul,
	.rse-archive-links ul {
		flex-direction: column;
	}
}

/* -------------------------------------------------------------------------- */
/* PDP (single product) — Apple stack on entire product layout (overrides     */
/* theme heading/body fonts). Yolo may render some blocks outside #product-*. */
/* -------------------------------------------------------------------------- */

body.single-product {
	--rse-apple-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
		"Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body.single-product div[id^="product-"],
body.single-product main.single-product-wrap {
	font-family: var(--rse-apple-font) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb a,
body.single-product .breadcrumbs,
body.single-product .breadcrumbs a {
	font-family: var(--rse-apple-font) !important;
}

body.single-product div[id^="product-"] :is(
	h1, h2, h3, h4, h5, h6,
	p, li, dt, dd, blockquote,
	label, legend, figcaption,
	th, td,
	span, div,
	small, strong, em, b,
	.woocommerce-product-details__short-description,
	.woocommerce-product-details__short-description *,
	.product_meta,
	.product_meta *,
	.woocommerce-tabs,
	.woocommerce-tabs *,
	.woocommerce-Tabs-panel,
	.woocommerce-Tabs-panel *,
	.woocommerce-Reviews,
	.woocommerce-Reviews *,
	.shop_attributes,
	.shop_attributes *,
	.product .summary,
	.product .summary *,
	.entry-summary,
	.entry-summary *,
	.related.products,
	.related.products *,
	.up-sells,
	.up-sells *,
	.upsells,
	.upsells *,
	.woocommerce-variation-description,
	.woocommerce-variation-price,
	.woocommerce-variation-availability,
	.reset_variations,
	.woocommerce-review__author,
	.woocommerce-review__published-date,
	.woocommerce-review__description,
	.comment-text,
	.comment-respond,
	.comment-respond *,
	.woocommerce-noreviews,
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error,
	form.cart,
	form.cart *,
	.quantity,
	.quantity *,
	input.input-text,
	input.qty,
	textarea,
	select,
	button,
	.button,
	.added_to_cart,
	.single_add_to_cart_button,
	.woocommerce-Price-amount,
	.price,
	.price *,
	.amount
),
body.single-product main.single-product-wrap :is(
	h1, h2, h3, h4, h5, h6,
	p, li, dt, dd, blockquote,
	label, legend, figcaption,
	th, td,
	span, div,
	small, strong, em, b,
	.woocommerce-product-details__short-description,
	.woocommerce-product-details__short-description *,
	.product_meta,
	.product_meta *,
	.woocommerce-tabs,
	.woocommerce-tabs *,
	.woocommerce-Tabs-panel,
	.woocommerce-Tabs-panel *,
	.woocommerce-Reviews,
	.woocommerce-Reviews *,
	.shop_attributes,
	.shop_attributes *,
	.product .summary,
	.product .summary *,
	.entry-summary,
	.entry-summary *,
	.related.products,
	.related.products *,
	.up-sells,
	.up-sells *,
	.upsells,
	.upsells *,
	.woocommerce-variation-description,
	.woocommerce-variation-price,
	.woocommerce-variation-availability,
	.reset_variations,
	.woocommerce-review__author,
	.woocommerce-review__published-date,
	.woocommerce-review__description,
	.comment-text,
	.comment-respond,
	.comment-respond *,
	.woocommerce-noreviews,
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error,
	form.cart,
	form.cart *,
	.quantity,
	.quantity *,
	input.input-text,
	input.qty,
	textarea,
	select,
	button,
	.button,
	.added_to_cart,
	.single_add_to_cart_button,
	.woocommerce-Price-amount,
	.price,
	.price *,
	.amount
) {
	font-family: var(--rse-apple-font) !important;
}

body.single-product div[id^="product-"] a,
body.single-product main.single-product-wrap a {
	font-family: var(--rse-apple-font) !important;
}

body.single-product div[id^="product-"] .star-rating::before,
body.single-product div[id^="product-"] .star-rating::after,
body.single-product main.single-product-wrap .star-rating::before,
body.single-product main.single-product-wrap .star-rating::after {
	font-family: WooCommerce, star, sans-serif !important;
}

body.single-product div[id^="product-"] i[class*="fa"]::before,
body.single-product div[id^="product-"] i[class*="fa-"]::before,
body.single-product div[id^="product-"] .fa::before,
body.single-product div[id^="product-"] [class*="fa-"]::before,
body.single-product div[id^="product-"] [class*="pe-7"]::before,
body.single-product main.single-product-wrap i[class*="fa"]::before,
body.single-product main.single-product-wrap i[class*="fa-"]::before,
body.single-product main.single-product-wrap .fa::before,
body.single-product main.single-product-wrap [class*="fa-"]::before,
body.single-product main.single-product-wrap [class*="pe-7"]::before {
	font-family: FontAwesome, "Font Awesome 5 Free", "Font Awesome 5 Brands", "Pe-icon-7-stroke", fontawesome, sans-serif !important;
}

body.single-product div[id^="product-"] i[class*="fa"],
body.single-product div[id^="product-"] [class*="pe-7"],
body.single-product main.single-product-wrap i[class*="fa"],
body.single-product main.single-product-wrap [class*="pe-7"] {
	font-family: FontAwesome, "Font Awesome 5 Free", "Font Awesome 5 Brands", "Pe-icon-7-stroke", fontawesome, sans-serif !important;
}
