/* Foundation: browser/base polish, theme-wide type roles, labels, and reusable pattern primitives. */

/* Base */
:root {
	--wedset-hero-frame-height: calc(100dvh - var(--wedset-real-header-height, var(--wp--custom--component--chrome--header-height)) - var(--wedset-real-admin-height, 0px));
}

html {
	scroll-behavior: smooth;
	overflow-x: clip;
}

body {
	min-width: 320px;
	overflow-x: clip;
	background: var(--wp--preset--color--porcelain);
	font-family: var(--wp--preset--font-family--body);
	font-kerning: normal;
	text-rendering: optimizeLegibility;
}

.wp-site-blocks {
	overflow-x: clip;
	background: var(--wp--preset--color--porcelain);
}

.wp-site-blocks > * + *,
.wp-site-blocks > footer {
	margin-block-start: 0;
}



p {
	text-wrap: pretty;
}

a {
	text-underline-offset: 0.18em;
}

img,
video,
iframe {
	max-width: 100%;
}

img,
video {
	height: auto;
}

*:focus-visible {
	outline: 2px solid var(--wp--preset--color--pine);
	outline-offset: 3px;
}

/* Typeset: canonical typography roles */
body {
	font-size: var(--wp--preset--font-size--medium);
	line-height: var(--wp--custom--type--line-body);
}

body,
p,
li,
button,
input,
select,
textarea {
	font-family: var(--wp--preset--font-family--body);
	font-weight: var(--wp--custom--type--weight-regular);
	line-height: var(--wp--custom--type--line-body);
}

p,
li {
	font-size: var(--wp--custom--type--body);
	max-width: var(--wp--custom--type--body-measure);
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading,
.wp-block-site-title,
.wedset-brand-title,
.wedset-footer-brand,
.wedset-testimonial p:first-child,
.wedset-featured-products .wc-block-grid__product-title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: var(--wp--custom--type--weight-regular);
	line-height: var(--wp--custom--type--line-heading);
	letter-spacing: var(--wp--custom--type--heading-tracking);
	text-wrap: balance;
}

h1,
.wp-block-post-title {
	max-width: var(--wp--custom--type--heading-measure);
}

h2,
.wedset-section-intro h2,
.wedset-featured-copy h2,
.wedset-promise-header h2,
.wedset-newsletter-copy h2 {
	font-size: var(--wp--custom--type--section-title);
	line-height: var(--wp--custom--type--line-heading);
}

h3,
.wedset-card-body h3,
.wedset-promise-item h3,
.wedset-featured-products .wc-block-grid__product-title {
	font-size: var(--wp--custom--type--card-title);
	line-height: 1.16;
}

.wedset-home-hero h1 {
	max-width: var(--wp--custom--type--hero-measure);
	font-size: var(--wp--custom--type--display-hero);
	line-height: var(--wp--custom--type--line-display);
	letter-spacing: var(--wp--custom--type--display-tracking);
}

.wedset-page-header .wp-block-post-title,
.wedset-archive-shell .wp-block-query-title,
.wedset-404-shell h1 {
	font-size: var(--wp--custom--type--section-title-large);
	line-height: var(--wp--custom--type--line-display);
	letter-spacing: var(--wp--custom--type--display-tracking);
}

.wedset-home-hero p:not(.wedset-hero-eyebrow):not(.wedset-hero-cta),
.wedset-story-copy > p:not(.wedset-section-eyebrow-left):not(.wedset-category-link),
.wedset-featured-copy > p:not(.wedset-section-eyebrow-left),
.wedset-newsletter-action p,
.wedset-page-content p,
.wedset-page-content li {
	font-size: var(--wp--custom--type--body);
	line-height: var(--wp--custom--type--line-body);
}

.wedset-card-body > p:not(.wedset-category-link),
.wedset-promise-item p,
.wedset-footer-copy,
.wedset-footer-links,
.woocommerce .woocommerce-breadcrumb,
.woocommerce-result-count,
.woocommerce-ordering {
	font-size: var(--wp--custom--type--body-small);
}

.wedset-hero-eyebrow,
.wedset-section-eyebrow,
.wedset-section-eyebrow-left,
.wedset-footer-heading,
.wedset-testimonial p:last-child,
.wedset-header .wp-block-navigation,
.wedset-header .wp-block-navigation a {
	text-transform: uppercase;
}

.wp-block-button__link,
.wedset-header-shop-btn .wp-block-button__link,
.wedset-shop-cta .wp-block-button__link,
.wedset-newsletter-cta .wp-block-button__link,
.wedset-hero-cta a,
.wedset-category-link a {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--custom--type--body-small);
	font-weight: var(--wp--custom--type--weight-regular);
	letter-spacing: var(--wp--custom--type--action-tracking);
	line-height: var(--wp--custom--type--line-label);
	text-transform: uppercase;
}

.wedset-testimonial p:first-child {
	max-width: var(--wp--custom--type--quote-measure);
	font-size: var(--wp--custom--type--editorial-quote);
	line-height: var(--wp--custom--type--line-quote);
}

.wedset-testimonial p:last-child,
.wedset-footer-credit {
	font-size: var(--wp--custom--type--label);
	letter-spacing: var(--wp--custom--type--label-tracking);
	line-height: var(--wp--custom--type--line-label);
}

.wedset-newsletter-section,
.wedset-footer {
	-webkit-font-smoothing: antialiased;
}

.wedset-newsletter-section p,
.wedset-footer p,
.wedset-footer a,
.wedset-newsletter-action p {
	line-height: calc(var(--wp--custom--type--line-body) + 0.08);
}

/* Labels and section text */
.wedset-hero-eyebrow,
.wedset-section-eyebrow,
.wedset-section-eyebrow-left,
.wedset-footer-heading,
.wedset-testimonial p:last-child {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--custom--component--label--gap);
	text-transform: uppercase;
	word-break: normal;
	overflow-wrap: normal;
}

.wedset-section-eyebrow {
	justify-content: center;
	width: 100%;
	text-align: center;
}

.wedset-hero-eyebrow::before,
.wedset-section-eyebrow-left::before,
.wedset-section-eyebrow::before,
.wedset-section-eyebrow::after,
.wedset-divider::before,
.wedset-divider::after,
.wedset-story-section::before {
	content: '';
	display: inline-block;
	height: var(--wp--custom--component--label--rule-height);
	background: var(--wp--preset--color--clay);
}

.wedset-hero-eyebrow::before,
.wedset-section-eyebrow-left::before {
	width: var(--wp--custom--component--label--rule-width-small);
}

.wedset-section-eyebrow::before,
.wedset-section-eyebrow::after {
	width: var(--wp--custom--component--label--rule-width);
}

.wedset-section-intro,
.wedset-featured-products > p.has-text-align-center {
	max-width: var(--wp--custom--content--narrow);
	margin-inline: auto;
}


.wedset-account-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: var(--wp--custom--component--header--icon-size, var(--wp--custom--component--chrome--icon-target));
	block-size: var(--wp--custom--component--header--icon-size, var(--wp--custom--component--chrome--icon-target));
	color: var(--wp--preset--color--pine);
	text-decoration: none;
}

.wedset-account-link svg {
	inline-size: 1.15em;
	block-size: 1.15em;
}

/* Patterns */
.wedset-pattern-section-heading > p:not(.wedset-section-eyebrow),
.wedset-editorial-cta > p:not(.wedset-section-eyebrow) {
	max-width: 58ch;
}
