/**
 * Providential Consulting Inc — brand system
 *
 * Usage:
 * - Teal  = actions, links, accents
 * - Navy  = trust / dark sections & primary ink
 * - Cream = testimonial / quote sections only
 */

:root {
	/* Anchors */
	--provcon-teal: #4fa6b3;
	--provcon-navy: #003a4c;

	/* Teal scale */
	--provcon-teal-50: #ecf6f7;
	--provcon-teal-100: #d6ebee;
	--provcon-teal-200: #acd6dc;
	--provcon-teal-300: #82c0c9;
	--provcon-teal-400: #62afb9;
	--provcon-teal-500: #4fa6b3;
	--provcon-teal-600: #3d8995;
	--provcon-teal-700: #316e78;
	--provcon-teal-800: #28565f;
	--provcon-teal-900: #1e4149;

	/* Navy scale */
	--provcon-navy-700: #0a4e62;
	--provcon-navy-800: #00465a;
	--provcon-navy-900: #003a4c;
	--provcon-navy-950: #002a38;

	/* Neutrals (cool, teal-tinted) */
	--provcon-white: #ffffff;
	--provcon-canvas: #f4f7f8;
	--provcon-cream: #f8f6f1;
	--provcon-paper: #ffffff;
	--provcon-line: #e1eaec;
	--provcon-line-strong: #cbd9dc;
	--provcon-gray-100: #edf1f2;
	--provcon-gray-200: #dce4e6;
	--provcon-gray-300: #c2cfd2;
	--provcon-gray-400: #97a8ad;
	--provcon-gray-500: #6e8389;
	--provcon-gray-600: #51666c;

	/* Text */
	--provcon-text: #0b2a33;
	--provcon-text-secondary: #3e565d;
	--provcon-text-muted: #6e8389;
	--provcon-on-dark: #eaf4f5;
	--provcon-on-dark-secondary: #a9c7ce;

	/* Semantic */
	--provcon-success: #2e9e78;
	--provcon-success-bg: #e6f4ee;
	--provcon-warning: #d89636;
	--provcon-warning-bg: #fbf1e0;
	--provcon-error: #d2564c;
	--provcon-error-bg: #fbe9e7;

	/* Typography */
	--provcon-font-display: "Quicksand", system-ui, sans-serif;
	--provcon-font-body: "Mulish", system-ui, sans-serif;
	--provcon-font-mono: "IBM Plex Mono", ui-monospace, monospace;

	/* Roles mapped for easier theming */
	--provcon-action: var(--provcon-teal);
	--provcon-action-hover: var(--provcon-teal-600);
	--provcon-ink: var(--provcon-navy);
	--provcon-page-bg: var(--provcon-canvas);
	--provcon-card-bg: var(--provcon-paper);

	/* Handoff aliases used by blog templates / Elementor custom CSS */
	--brand-teal: var(--provcon-teal);
	--brand-navy: var(--provcon-navy);
	--teal-50: var(--provcon-teal-50);
	--teal-100: var(--provcon-teal-100);
	--teal-200: var(--provcon-teal-200);
	--teal-300: var(--provcon-teal-300);
	--teal-500: var(--provcon-teal-500);
	--teal-600: var(--provcon-teal-600);
	--teal-700: var(--provcon-teal-700);
	--teal-800: var(--provcon-teal-800);
	--canvas: var(--provcon-canvas);
	--cream: var(--provcon-cream);
	--paper: var(--provcon-paper);
	--line: var(--provcon-line);
	--line-strong: var(--provcon-line-strong);
	--fg1: var(--provcon-text);
	--fg2: var(--provcon-text-secondary);
	--fg3: var(--provcon-text-muted);
	--font-display: var(--provcon-font-display);
	--font-sans: var(--provcon-font-body);
	--font-mono: var(--provcon-font-mono);
	--radius-lg: 20px;
	--radius-xl: 28px;
	--radius-pill: 999px;
	--shadow-sm: 0 2px 6px rgba(0, 58, 76, 0.07);
	--shadow-md: 0 8px 20px rgba(0, 58, 76, 0.09);
	--shadow-lg: 0 18px 40px rgba(0, 58, 76, 0.12);
}

.eyebrow {
	font-family: var(--font-display);
}

/* -------------------------------------------------------------------------- */
/* Base                                                                       */
/* -------------------------------------------------------------------------- */

html {
	background-color: var(--provcon-page-bg);
}

body {
	background-color: var(--provcon-page-bg);
	color: var(--provcon-text);
	font-family: var(--provcon-font-body);
	font-weight: 400;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.elementor-heading-title {
	color: var(--provcon-ink);
	font-family: var(--provcon-font-display);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

p,
li,
label,
input,
textarea,
select,
button {
	font-family: var(--provcon-font-body);
}

code,
kbd,
pre,
samp,
.provcon-mono,
table,
.woocommerce table,
.woocommerce-table {
	font-family: var(--provcon-font-mono);
}

a {
	color: var(--provcon-action);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.15em;
}

a:hover,
a:focus {
	color: var(--provcon-action-hover);
}

::selection {
	background: var(--provcon-teal-100);
	color: var(--provcon-navy-950);
}

/* -------------------------------------------------------------------------- */
/* Buttons / actions (teal)                                                   */
/* -------------------------------------------------------------------------- */

button,
.button,
.wp-block-button__link,
.elementor-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background-color: var(--provcon-action);
	border-color: var(--provcon-action);
	color: var(--provcon-white);
	font-family: var(--provcon-font-body);
	font-weight: 600;
}

button:hover,
.button:hover,
.wp-block-button__link:hover,
.elementor-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background-color: var(--provcon-action-hover);
	border-color: var(--provcon-action-hover);
	color: var(--provcon-white);
}

/* -------------------------------------------------------------------------- */
/* Surfaces                                                                   */
/* -------------------------------------------------------------------------- */

.site-header,
.elementor-location-header {
	background-color: var(--provcon-paper);
	border-bottom: 1px solid var(--provcon-line);
}

.site-footer,
.elementor-location-footer {
	background-color: var(--provcon-navy);
	color: var(--provcon-on-dark);
}

.site-footer a,
.elementor-location-footer a {
	color: var(--provcon-on-dark);
}

.site-footer a:hover,
.elementor-location-footer a:hover {
	color: var(--provcon-teal-200);
}

/* Utility sections */
.provcon-section--canvas {
	background-color: var(--provcon-canvas);
	color: var(--provcon-text);
}

.provcon-section--paper,
.provcon-card {
	background-color: var(--provcon-paper);
	border: 1px solid var(--provcon-line);
	color: var(--provcon-text);
}

/* Cream: testimonials / quotes only */
.provcon-section--cream,
.provcon-testimonial,
.provcon-quote,
blockquote.provcon-quote {
	background-color: var(--provcon-cream);
	color: var(--provcon-text);
}

/* Navy: trust / dark sections */
.provcon-section--dark,
.provcon-section--navy {
	background-color: var(--provcon-navy);
	color: var(--provcon-on-dark);
}

.provcon-section--dark h1,
.provcon-section--dark h2,
.provcon-section--dark h3,
.provcon-section--dark h4,
.provcon-section--dark h5,
.provcon-section--dark h6,
.provcon-section--navy h1,
.provcon-section--navy h2,
.provcon-section--navy h3,
.provcon-section--navy h4,
.provcon-section--navy h5,
.provcon-section--navy h6 {
	color: var(--provcon-on-dark);
}

.provcon-section--dark p,
.provcon-section--dark li,
.provcon-section--navy p,
.provcon-section--navy li {
	color: var(--provcon-on-dark-secondary);
}

.provcon-section--dark a,
.provcon-section--navy a {
	color: var(--provcon-teal-200);
}

.provcon-section--dark a:hover,
.provcon-section--navy a:hover {
	color: var(--provcon-white);
}

/* -------------------------------------------------------------------------- */
/* Forms & borders                                                            */
/* -------------------------------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
	background-color: var(--provcon-paper);
	border: 1px solid var(--provcon-line-strong);
	color: var(--provcon-text);
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--provcon-teal);
	outline: 2px solid var(--provcon-teal-100);
	outline-offset: 0;
}

hr {
	border: 0;
	border-top: 1px solid var(--provcon-line);
}

/* -------------------------------------------------------------------------- */
/* Semantic notices                                                           */
/* -------------------------------------------------------------------------- */

.provcon-notice--success,
.woocommerce-message {
	background-color: var(--provcon-success-bg);
	color: var(--provcon-success);
	border-color: var(--provcon-success);
}

.provcon-notice--warning,
.woocommerce-info {
	background-color: var(--provcon-warning-bg);
	color: var(--provcon-warning);
	border-color: var(--provcon-warning);
}

.provcon-notice--error,
.woocommerce-error {
	background-color: var(--provcon-error-bg);
	color: var(--provcon-error);
	border-color: var(--provcon-error);
}

/* -------------------------------------------------------------------------- */
/* WooCommerce accents                                                        */
/* -------------------------------------------------------------------------- */

.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--provcon-navy);
	font-family: var(--provcon-font-mono);
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--provcon-teal);
	color: var(--provcon-white);
}
