/*
 * tMP Core: sitewide frame ("pin sheet" design).
 * Loads on every front-end page when Site Design is on: paper background, the
 * type system, the theme's header and footer restyled, and Elementor's basic
 * widgets (headings, text, buttons, dividers) brought into the same look.
 * CSS only, scoped to body.tmp-frame. Layout set in Elementor is not touched.
 */

body.tmp-frame {
	--paper: #F5F2EA; --card: #FFFDF8; --tint: #F5F2EA; --ink: #0F2029; --ink2: #3C4C55; --muted: #5F6E76;
	--line: rgba(15, 32, 41, 0.16); --line2: rgba(15, 32, 41, 0.09); --field: rgba(15, 32, 41, 0.3);
	--accent: #58B4E5; --blue-deep: #1A6A96; --green: #2D6A4F; --green-tint: #DCE8D6;
	--serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
	--sans: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
	background: var(--paper) !important; color: var(--ink2);
	font-family: var(--sans) !important; -webkit-font-smoothing: antialiased;
}
body.tmp-frame .wrap, body.tmp-frame .content, body.tmp-frame .inner-container, body.tmp-frame section.standard-blog, body.tmp-frame section.content-editor { background: transparent !important; }
body.tmp-frame #loader-wrapper .loader-section { background: var(--paper); }

/* ---------- type ---------- */
body.tmp-frame .content p, body.tmp-frame .content li, body.tmp-frame .elementor-widget-text-editor, body.tmp-frame .elementor-widget-text-editor p, body.tmp-frame .elementor-widget-text-editor li { font-family: var(--sans) !important; font-size: 17px; line-height: 1.6; color: var(--ink2); }
body.tmp-frame .content h1, body.tmp-frame .content h2, body.tmp-frame .content h3, body.tmp-frame .content h4, body.tmp-frame .content h5, body.tmp-frame .content h6,
body.tmp-frame .elementor-widget-heading .elementor-heading-title { font-family: var(--serif) !important; font-weight: 400 !important; color: var(--ink) !important; letter-spacing: -0.01em; line-height: 1.08; }
body.tmp-frame .content h1, body.tmp-frame h1.elementor-heading-title { font-size: clamp(40px, 5vw, 64px); }
body.tmp-frame .content h2, body.tmp-frame h2.elementor-heading-title { font-size: clamp(34px, 4vw, 48px); }
body.tmp-frame .content h3, body.tmp-frame h3.elementor-heading-title, body.tmp-frame h4.elementor-heading-title { font-size: clamp(28px, 3vw, 38px); }
body.tmp-frame h5.elementor-heading-title, body.tmp-frame h6.elementor-heading-title { font-size: clamp(22px, 2.2vw, 28px); }
body.tmp-frame .content a { color: var(--blue-deep); }
body.tmp-frame .content a:hover { color: var(--ink); }
body.tmp-frame .elementor-widget-text-editor strong, body.tmp-frame .content p strong { color: var(--ink); font-weight: 600; }

/* ---------- Elementor basics ---------- */
body.tmp-frame .elementor-button, body.tmp-frame .content .btn, body.tmp-frame .content input[type="submit"] {
	background: var(--ink) !important; color: var(--card) !important; border: 1px solid var(--ink) !important; border-radius: 8px !important;
	font-family: var(--sans) !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.2 !important;
	letter-spacing: 0 !important; text-transform: none !important; padding: 16px 24px !important; box-shadow: none !important; text-shadow: none !important;
	transition: background .15s ease, transform .15s ease;
}
body.tmp-frame .elementor-button:hover, body.tmp-frame .content .btn:hover, body.tmp-frame .content input[type="submit"]:hover { background: #1B3442 !important; color: var(--card) !important; transform: translateY(-1px); }
body.tmp-frame .elementor-button .elementor-button-text, body.tmp-frame .elementor-button .elementor-button-icon { color: inherit !important; }
body.tmp-frame .elementor-divider-separator { border-top-color: var(--line) !important; }
/* Logos and artwork saved on a white background melt into the paper instead of sitting in a white box. */
body.tmp-frame .elementor-widget-image img, body.tmp-frame ul.products li.product-category a img { border-radius: 4px; mix-blend-mode: multiply; }
body.tmp-frame .content input[type="text"], body.tmp-frame .content input[type="email"], body.tmp-frame .content input[type="tel"], body.tmp-frame .content textarea, body.tmp-frame .content select { font-family: var(--sans); font-size: 16px; color: var(--ink); background: var(--card); border: 1px solid var(--field); border-radius: 8px; }

