/*
Theme Name:  Crescent Line Motors
Theme URI:   https://crescentlinemotorsllc.com
Author:      Crescent Line Motors
Description: Dealership theme for Crescent Line Motors — a dark, performance-led design for premium pre-owned and certified vehicles. Requires the Crescent Line Motors Core plugin for inventory, dealership settings and lead capture.
Version:     1.0.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: crescent-line
Tags:        custom-menu, featured-images, translation-ready, full-width-template
*/

/*
 * The design system lives in assets/css/app.css. Everything below is limited to
 * WordPress-specific glue the compiled utility sheet does not cover.
 */

/* Editor and core alignment classes. */
.alignwide {
	max-width: 72rem;
	margin-left: auto;
	margin-right: auto;
}

.alignfull {
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: 100vw;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignleft {
	float: left;
	margin-right: 1.5rem;
	margin-bottom: 1rem;
}

.alignright {
	float: right;
	margin-left: 1.5rem;
	margin-bottom: 1rem;
}

/* Screen-reader text, per the WordPress accessibility guidelines. */
.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--background);
	border-radius: var(--radius);
	box-shadow: 0 0 2px 2px rgb(0 0 0 / 0.6);
	clip-path: none;
	color: var(--primary);
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	height: auto;
	left: 1rem;
	line-height: normal;
	padding: 0.75rem 1.5rem;
	text-decoration: none;
	top: 1rem;
	width: auto;
	z-index: 100000;
}

/*
 * The honeypot field must be reachable by bots but never by people. It is
 * clipped rather than pushed off-canvas so it can never affect page width.
 */
.clm-hp-field {
	clip-path: inset(50%) !important;
	height: 1px !important;
	overflow: hidden !important;
	pointer-events: none !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

/*
 * Editor-authored policy content.
 *
 * The utility sheet cannot reach markup produced by the block editor, so the
 * section styling — numbered headings, the short red rule, dotted bullets — is
 * expressed here instead, using the same design tokens.
 */
.clm-policy-body {
	counter-reset: clm-policy-section;
}

.clm-policy-body > h2 {
	counter-increment: clm-policy-section;
	color: var(--foreground);
	font-family: var(--font-display);
	font-size: 1.125rem;
	line-height: 1.75rem;
	letter-spacing: 0.12em;
	margin-top: 2.5rem;
	text-transform: uppercase;
}

.clm-policy-body > h2::before {
	color: var(--primary);
	content: counter(clm-policy-section, decimal-leading-zero) " ";
	margin-right: 0.5rem;
}

/* The 12-unit rule that sits under every section heading. */
.clm-policy-body > h2::after {
	background: var(--primary);
	content: "";
	display: block;
	height: 0.125rem;
	margin-top: 0.5rem;
	width: 3rem;
}

.clm-policy-body > h2:first-child {
	margin-top: 0;
}

.clm-policy-body > h3 {
	color: var(--foreground);
	font-family: var(--font-display);
	font-size: 0.875rem;
	letter-spacing: 0.16em;
	margin-top: 2rem;
	text-transform: uppercase;
}

.clm-policy-body > p {
	color: var(--muted-foreground);
	font-size: 0.875rem;
	line-height: 1.625;
	margin-top: 1rem;
}

.clm-policy-body > ul,
.clm-policy-body > ol {
	margin-top: 1rem;
}

.clm-policy-body > ul > li,
.clm-policy-body > ol > li {
	color: var(--muted-foreground);
	font-size: 0.875rem;
	line-height: 1.625;
	list-style: none;
	padding-left: 1.125rem;
	position: relative;
}

.clm-policy-body > ul > li + li,
.clm-policy-body > ol > li + li {
	margin-top: 0.5rem;
}

.clm-policy-body > ul > li::before {
	background: var(--primary);
	border-radius: 9999px;
	content: "";
	height: 0.375rem;
	left: 0;
	position: absolute;
	top: 0.5rem;
	width: 0.375rem;
}

.clm-policy-body > ol {
	counter-reset: clm-policy-item;
}

.clm-policy-body > ol > li {
	counter-increment: clm-policy-item;
}

.clm-policy-body > ol > li::before {
	color: var(--primary);
	content: counter(clm-policy-item) ".";
	left: 0;
	position: absolute;
}

.clm-policy-body a {
	color: var(--primary);
}

.clm-policy-body a:hover {
	text-decoration: underline;
}

.clm-policy-body strong {
	color: var(--foreground);
}

/*
 * Native checkboxes and radios, tinted to match the rest of the form controls.
 */
.clm-check {
	accent-color: var(--primary);
	height: 1rem;
	width: 1rem;
}

/*
 * Range inputs, styled to match the slider in the original design. A native
 * range is used rather than a scripted widget so it stays keyboard accessible.
 */
.clm-range {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	cursor: pointer;
	display: block;
	width: 100%;
}

.clm-range:focus {
	outline: none;
}

.clm-range::-webkit-slider-runnable-track {
	background: color-mix(in oklab, var(--primary) 20%, transparent);
	border-radius: 9999px;
	height: 0.375rem;
}

.clm-range::-moz-range-track {
	background: color-mix(in oklab, var(--primary) 20%, transparent);
	border-radius: 9999px;
	height: 0.375rem;
}

.clm-range::-moz-range-progress {
	background: var(--primary);
	border-radius: 9999px;
	height: 0.375rem;
}

.clm-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	background: var(--background);
	border: 1px solid color-mix(in oklab, var(--primary) 50%, transparent);
	border-radius: 9999px;
	box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.35);
	height: 1rem;
	margin-top: -0.3125rem;
	width: 1rem;
}

.clm-range::-moz-range-thumb {
	background: var(--background);
	border: 1px solid color-mix(in oklab, var(--primary) 50%, transparent);
	border-radius: 9999px;
	box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.35);
	height: 1rem;
	width: 1rem;
}

.clm-range:focus-visible::-webkit-slider-thumb {
	box-shadow: 0 0 0 2px var(--ring);
}

.clm-range:focus-visible::-moz-range-thumb {
	box-shadow: 0 0 0 2px var(--ring);
}

/* Print: the financing application must produce a clean paper copy. */
@media print {
	.clm-no-print,
	header[data-site-header],
	footer[data-site-footer] {
		display: none !important;
	}

	body {
		background: #fff !important;
		color: #000 !important;
	}
}
