/**
 * Carbon Based Studio — front-end content typography, spacing, and buttons.
 * Tokens are set in Appearance → Carbon Based Theme (inline on cbs-layout).
 */

.site-content {
	padding-top: var(--cbs-site-content-padding-top, 32px);
	padding-bottom: var(--cbs-site-content-padding-bottom, 48px);
}

.entry-header.cbs-container,
.entry-header:not(.entry-header--in-content) {
	margin-bottom: var(--cbs-entry-header-spacing, 24px);
}

.entry-header--in-content {
	margin-bottom: var(--cbs-entry-header-spacing, 24px);
}

.entry-title {
	margin: 0;
	color: var(--cbs-heading-color, #1a1a1a);
	font-size: var(--cbs-font-size-entry-title, 32px);
	font-weight: var(--cbs-font-weight-entry-title, 700);
	line-height: 1.25;
}

.entry-content {
	color: var(--cbs-text, #3a3a3a);
	font-size: var(--cbs-font-size-body, 16px);
	font-weight: var(--cbs-font-weight-body, 400);
	line-height: var(--cbs-line-height-body, 1.65);
}

.entry-content > *:first-child {
	margin-top: 0;
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

.entry-content p,
.entry-content ul:not(.wc-block-product-template):not(.wc-block-grid__products):not(.woocommerce-MyAccount-navigation ul),
.entry-content ol,
.entry-content blockquote,
.entry-content pre,
.entry-content table,
.entry-content figure,
.entry-content .wp-block-image {
	margin: 0 0 var(--cbs-paragraph-spacing, 20px);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-content .wp-block-heading {
	color: var(--cbs-heading-color, #1a1a1a);
	line-height: 1.3;
	margin: var(--cbs-heading-spacing-top, 32px) 0 var(--cbs-heading-spacing-bottom, 12px);
}

.entry-content h1,
.entry-content .wp-block-heading[style*="font-size"] h1 {
	font-size: var(--cbs-font-size-h1, 32px);
	font-weight: var(--cbs-font-weight-h1, 700);
}

.entry-content h2 {
	font-size: var(--cbs-font-size-h2, 28px);
	font-weight: var(--cbs-font-weight-h2, 700);
}

.entry-content h3 {
	font-size: var(--cbs-font-size-h3, 24px);
	font-weight: var(--cbs-font-weight-h3, 700);
}

.entry-content h4 {
	font-size: var(--cbs-font-size-h4, 18px);
	font-weight: var(--cbs-font-weight-h4, 700);
}

.entry-content h5,
.entry-content h6 {
	font-weight: var(--cbs-font-weight-h4, 700);
}

.entry-content p.cbs-legal-page__meta,
.entry-content .cbs-legal-page__meta.wp-block-paragraph {
	font-size: var(--cbs-font-size-meta);
	font-weight: var(--cbs-font-weight-meta, 400);
	color: var(--cbs-text, #3a3a3a);
}

.entry-content a:not(.wp-block-button__link):not(.button) {
	color: var(--cbs-brand, #195a5b);
	text-decoration: var(--cbs-link-text-decoration, underline);
	text-underline-offset: 0.12em;
}

.entry-content a:not(.wp-block-button__link):not(.button):hover,
.entry-content a:not(.wp-block-button__link):not(.button):focus {
	color: var(--cbs-brand-hover, #134a4b);
	text-decoration: var(--cbs-link-text-decoration-hover, underline);
}

/* Woo notice uls keep icon gutter from cbs-woo-notices.css — do not force content-list padding-left. */
.entry-content ul:not(.wc-block-product-template):not(.wc-block-grid__products):not(.woocommerce-MyAccount-navigation ul):not(.woocommerce-error):not(.woocommerce-message):not(.woocommerce-info),
.entry-content ol {
	padding-left: 1.35em;
}

.entry-content ul:not(.wc-block-product-template):not(.wc-block-grid__products):not(.woocommerce-MyAccount-navigation ul) > li {
	margin-bottom: 0.35rem;
}

.woocommerce form .form-row label {
	font-size: var(--cbs-font-size-form-label, var(--cbs-font-size-body, 16px));
	font-weight: var(--cbs-font-weight-form-label, var(--cbs-font-weight-body, 400));
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid var(--cbs-border, #d5dbe3);
	border-radius: var(--cbs-btn-radius, 4px);
	color: var(--cbs-text-strong, #1a1a1a);
	padding: 0.55em 0.75em;
}

@media (max-width: 781px) {
	.site-content {
		padding-top: max(24px, calc(var(--cbs-site-content-padding-top, 32px) * 0.75));
		padding-bottom: max(32px, calc(var(--cbs-site-content-padding-bottom, 48px) * 0.75));
	}
}
