/* ==========================================================
   CARO NATIVE PAGES — AUTHORITATIVE PAGE CANVAS
   Final post-Elementor page system
========================================================== */

/* ----------------------------------------------------------
   BASE PAGE CANVAS
---------------------------------------------------------- */

body.page-id-1225,
body.page-id-1228,
body.page-id-7115,
body.page-id-7224,
body.page-id-15675,
body.page-id-2788,
body.page-id-6970,
body.page-id-7074,
body.page-id-3,
body.page-id-7062,
body.page-id-7971,
body.page-id-5483,
body.page-id-7920,
body.page-id-6,
body.page-id-8,
body.page-id-3658,
body.single-post,
body.category,
body.tag,
body.author,
body.date,
body.search {
	background: #ffffff !important;
	color: #242424 !important;
}

body.page-id-1225 #content,
body.page-id-1228 #content,
body.page-id-7115 #content,
body.page-id-7224 #content,
body.page-id-15675 #content,
body.page-id-2788 #content,
body.page-id-6970 #content,
body.page-id-7074 #content,
body.page-id-3 #content,
body.page-id-7062 #content,
body.page-id-7971 #content,
body.page-id-5483 #content,
body.page-id-7920 #content,
body.page-id-6 #content,
body.page-id-8 #content,
body.page-id-3658 #content,
body.single-post #content,
body.category #content,
body.tag #content,
body.author #content,
body.date #content,
body.search #content,

body.page-id-1225 .site-content,
body.page-id-1228 .site-content,
body.page-id-7115 .site-content,
body.page-id-7224 .site-content,
body.page-id-15675 .site-content,
body.page-id-2788 .site-content,
body.page-id-6970 .site-content,
body.page-id-7074 .site-content,
body.page-id-3 .site-content,
body.page-id-7062 .site-content,
body.page-id-7971 .site-content,
body.page-id-5483 .site-content,
body.page-id-7920 .site-content,
body.page-id-6 .site-content,
body.page-id-8 .site-content,
body.page-id-3658 .site-content,
body.single-post .site-content,
body.category .site-content,
body.tag .site-content,
body.author .site-content,
body.date .site-content,
body.search .site-content {
	background: #ffffff !important;
}


/* Remove Astra boxed/dark canvas from native pages */

body.page-id-1225 #content > .ast-container,
body.page-id-1228 #content > .ast-container,
body.page-id-7115 #content > .ast-container,
body.page-id-7224 #content > .ast-container,
body.page-id-15675 #content > .ast-container,
body.page-id-2788 #content > .ast-container,
body.page-id-6970 #content > .ast-container,
body.page-id-7074 #content > .ast-container,
body.page-id-3 #content > .ast-container,
body.page-id-7062 #content > .ast-container,
body.page-id-7971 #content > .ast-container,
body.page-id-5483 #content > .ast-container,
body.page-id-7920 #content > .ast-container,
body.page-id-6 #content > .ast-container,
body.page-id-8 #content > .ast-container,
body.page-id-3658 #content > .ast-container,
body.single-post #content > .ast-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}


/* ----------------------------------------------------------
   CONTACT
---------------------------------------------------------- */

body.page-id-1228 .caro-contact-2026,
body.page-id-1228 .caro-contact-main {
	background: #ffffff !important;
}

body.page-id-1228 .caro-contact-hero {
	background: #f7f6f3 !important;
	color: #171717 !important;
}

body.page-id-1228 .caro-contact-hero h1,
body.page-id-1228 .caro-contact-form-column h2 {
	color: #111111 !important;
}

body.page-id-1228 .caro-contact-lead {
	color: #57575b !important;
}

body.page-id-1228 .caro-contact-info {
	background: #faf9f6 !important;
	color: #222 !important;
	border-color: #e5e3dd !important;
}


/* ----------------------------------------------------------
   BLOG LANDING
---------------------------------------------------------- */

body.page-id-7115 .caro-blog-2026 {
	background: #ffffff !important;
}

body.page-id-7115 .caro-blog-hero {
	background: #f7f6f3 !important;
	color: #161616 !important;
}

body.page-id-7115 .caro-blog-content {
	background: #ffffff !important;
}

body.page-id-7115 .wp-block-post {
	background: #ffffff !important;
	color: #222 !important;
}

body.page-id-7115 .wp-block-post-title,
body.page-id-7115 .wp-block-post-title a {
	color: #111 !important;
}

body.page-id-7115 .wp-block-post-excerpt,
body.page-id-7115 .wp-block-post-excerpt p {
	color: #59595d !important;
}

body.page-id-7115 .wp-block-post-featured-image {
	background: #f3f2ef !important;
}


/* ----------------------------------------------------------
   BLOG CATEGORY / TAG / ARCHIVE
---------------------------------------------------------- */

body.category #primary,
body.tag #primary,
body.author #primary,
body.date #primary,
body.search #primary {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}

body.category .site-main,
body.tag .site-main,
body.author .site-main,
body.date .site-main,
body.search .site-main {
	width: min(calc(100% - 56px), 1180px) !important;
	margin: 0 auto !important;
	padding: 70px 0 100px !important;
	background: #ffffff !important;
}

body.category .page-header,
body.tag .page-header,
body.author .page-header,
body.date .page-header,
body.search .page-header {
	margin: 0 0 48px !important;
	padding: 0 0 34px !important;
	border-bottom: 1px solid #e8e7e3 !important;
	background: #ffffff !important;
}

body.category .page-title,
body.tag .page-title,
body.author .page-title,
body.date .page-title,
body.search .page-title {
	margin: 0 !important;
	color: #111 !important;
	font-size: clamp(2.4rem,4vw,4rem) !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: -.04em !important;
}

body.category article,
body.tag article,
body.author article,
body.date article,
body.search article {
	margin: 0 !important;
	padding: 34px 0 !important;
	border-bottom: 1px solid #ebeae6 !important;
	background: #ffffff !important;
	color: #333 !important;
}

body.category article .entry-title a,
body.tag article .entry-title a,
body.author article .entry-title a,
body.date article .entry-title a,
body.search article .entry-title a {
	color: #111 !important;
	text-decoration: none !important;
}

body.category article .entry-summary,
body.tag article .entry-summary,
body.author article .entry-summary,
body.date article .entry-summary,
body.search article .entry-summary {
	color: #5b5b60 !important;
}


/* ----------------------------------------------------------
   SINGLE BLOG POSTS
---------------------------------------------------------- */

body.single-post #primary,
body.single-post .site-main,
body.single-post article {
	background: #ffffff !important;
	color: #303034 !important;
}

body.single-post .entry-title {
	color: #111 !important;
}

body.single-post .entry-content,
body.single-post .entry-content p,
body.single-post .entry-content li {
	color: #414146 !important;
}

body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4 {
	color: #151515 !important;
}


/* ----------------------------------------------------------
   REVIEWS
---------------------------------------------------------- */

body.page-id-7224 .caro-reviews-page,
body.page-id-7224 .caro-reviews-content {
	background: #ffffff !important;
	color: #222 !important;
}

body.page-id-7224 .caro-reviews-hero {
	background: #f7f6f3 !important;
	color: #111 !important;
}

body.page-id-7224 .cr-all-reviews-shortcode,
body.page-id-7224 .cr-all-reviews-shortcode *,
body.page-id-7224 .cr-reviews-grid,
body.page-id-7224 .cr-reviews-grid * {
	box-sizing: border-box;
}

body.page-id-7224 .cr-all-reviews-shortcode {
	color: #2d2d30 !important;
	background: #ffffff !important;
}

body.page-id-7224 .cr-summaryBox-wrap,
body.page-id-7224 .cr-summary-box,
body.page-id-7224 .cr-reviews-grid,
body.page-id-7224 .cr-review-card,
body.page-id-7224 .commentlist,
body.page-id-7224 .comment_container {
	background: #ffffff !important;
	color: #333 !important;
}

body.page-id-7224 .cr-review-card,
body.page-id-7224 .comment_container {
	border-color: #e7e5df !important;
}


/* ----------------------------------------------------------
   CARO CLASSICS / ART PIECES SOLD
---------------------------------------------------------- */

body.page-id-15675,
body.page-id-15675 #page,
body.page-id-15675 #content,
body.page-id-15675 .site-content,
body.page-id-15675 #primary,
body.page-id-15675 .site-main,
body.page-id-15675 article,
body.page-id-15675 .entry-content {
	background: #ffffff !important;
	color: #262626 !important;
}

body.page-id-15675 h1,
body.page-id-15675 h2,
body.page-id-15675 h3,
body.page-id-15675 h4 {
	color: #111 !important;
}

body.page-id-15675 p,
body.page-id-15675 li {
	color: #4c4c50;
}


/* Preserve intentional dark CTA sections inside native pages */

body.page-id-15675 .caro-dark,
body.page-id-15675 .caro-cta-dark,
body.page-id-1225 .caro-dark,
body.page-id-1225 .caro-cta-dark {
	background: #111 !important;
	color: #fff !important;
}

body.page-id-15675 .caro-dark *,
body.page-id-15675 .caro-cta-dark *,
body.page-id-1225 .caro-dark *,
body.page-id-1225 .caro-cta-dark * {
	color: #fff;
}


/* ----------------------------------------------------------
   POLICY / CONTENT PAGES
---------------------------------------------------------- */

.caro-policy-page,
.caro-policy-content,
.caro-system-page,
.caro-system-content {
	background: #ffffff !important;
}

.caro-policy-hero,
.caro-system-hero {
	background: #f7f6f3 !important;
}


/* ----------------------------------------------------------
   GENERIC NATIVE TEXT
---------------------------------------------------------- */

.caro-page a:not(.button):not(.wp-element-button) {
	text-underline-offset: 3px;
}

.caro-page img {
	max-width: 100%;
	height: auto;
}


/* ----------------------------------------------------------
   MOBILE
---------------------------------------------------------- */

@media (max-width: 760px) {

	body.category .site-main,
	body.tag .site-main,
	body.author .site-main,
	body.date .site-main,
	body.search .site-main {
		width: calc(100% - 30px) !important;
		padding: 46px 0 72px !important;
	}

	body.category .page-header,
	body.tag .page-header,
	body.author .page-header,
	body.date .page-header,
	body.search .page-header {
		margin-bottom: 28px !important;
		padding-bottom: 24px !important;
	}
}

/* ==========================================================
   CARO POLICY PAGES — FINAL EDITORIAL STRUCTURE
========================================================== */

body.page-id-2788 #primary,
body.page-id-6970 #primary,
body.page-id-7074 #primary,
body.page-id-3 #primary,
body.page-id-7062 #primary,
body.page-id-2788 .site-main,
body.page-id-6970 .site-main,
body.page-id-7074 .site-main,
body.page-id-3 .site-main,
body.page-id-7062 .site-main {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
}

body.page-id-2788 article.page,
body.page-id-6970 article.page,
body.page-id-7074 article.page,
body.page-id-3 article.page,
body.page-id-7062 article.page,
body.page-id-2788 .entry-content,
body.page-id-6970 .entry-content,
body.page-id-7074 .entry-content,
body.page-id-3 .entry-content,
body.page-id-7062 .entry-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
}

/* HERO */

.caro-policy-page .caro-policy-hero {
	width: 100%;
	padding: 72px 28px 58px !important;
	border-bottom: 1px solid #e5e4df;
	background: #f7f6f3 !important;
}

.caro-policy-page .caro-policy-hero .caro-policy-shell {
	width: min(100%, 1180px) !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
}

.caro-policy-page .caro-policy-hero h1 {
	max-width: 850px;
	margin: 0 !important;
	color: #111 !important;
	font-size: clamp(2.8rem, 4.25vw, 4.35rem) !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: -.045em !important;
}

/* MAIN POLICY BODY */

.caro-policy-page .caro-policy-content {
	width: 100%;
	padding: 68px 28px 104px !important;
	background: #fff !important;
}

.caro-policy-page .caro-policy-content .caro-policy-shell {
	width: min(100%, 880px) !important;
	max-width: 880px !important;
	margin: 0 auto !important;
}

.caro-policy-page .caro-policy-prose {
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.caro-policy-page .caro-policy-prose > :first-child {
	margin-top: 0 !important;
}

.caro-policy-page .caro-policy-prose h2 {
	margin: 48px 0 17px !important;
	padding: 0 !important;
	color: #151515 !important;
	font-size: clamp(1.55rem, 2vw, 2rem) !important;
	font-weight: 650 !important;
	line-height: 1.2 !important;
	letter-spacing: -.025em !important;
}

.caro-policy-page .caro-policy-prose h3 {
	margin: 34px 0 13px !important;
	color: #1b1b1b !important;
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.caro-policy-page .caro-policy-prose p,
.caro-policy-page .caro-policy-prose li {
	color: #454549 !important;
	font-size: 1rem !important;
	line-height: 1.75 !important;
}

.caro-policy-page .caro-policy-prose p {
	margin: 0 0 20px !important;
}

.caro-policy-page .caro-policy-prose ul,
.caro-policy-page .caro-policy-prose ol {
	margin: 18px 0 28px 1.25rem !important;
	padding: 0 !important;
}

.caro-policy-page .caro-policy-prose li {
	margin: 0 0 9px !important;
	padding-left: 5px;
}

.caro-policy-page .caro-policy-prose strong {
	color: #181818 !important;
	font-weight: 700 !important;
}

.caro-policy-page .caro-policy-prose a {
	color: #111 !important;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.caro-policy-page .caro-policy-prose hr {
	margin: 42px 0 !important;
	border: 0 !important;
	border-top: 1px solid #e5e4df !important;
}

@media (max-width: 640px) {

	.caro-policy-page .caro-policy-hero {
		padding: 48px 15px 42px !important;
	}

	.caro-policy-page .caro-policy-content {
		padding: 46px 15px 72px !important;
	}

	.caro-policy-page .caro-policy-hero h1 {
		font-size: clamp(2.4rem, 11vw, 3.2rem) !important;
	}

	.caro-policy-page .caro-policy-prose h2 {
		margin-top: 36px !important;
	}
}

