/*
Theme Name: Vintage Call
Theme URI: https://prospectiontelephonique.com/
Author: Antigravity
Author URI: https://prospectiontelephonique.com/
Description: 100% Exact Clone Design for Vintage Call
Version: 1.0.0
Text Domain: vintage-call
*/

/* WordPress Article Content Styling */
.article-content {
	font-family: 'Crimson Pro', serif;
	font-size: 1.125rem; /* text-lg */
	line-height: 1.75;
	color: hsl(var(--foreground) / 0.85);
}

.article-content p {
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
	line-height: 1.75;
}

.article-content p:first-of-type {
	margin-top: 0;
}

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
	font-family: 'Playfair Display', serif;
	color: hsl(var(--foreground));
	font-weight: 900;
	line-height: 1.25;
	margin-top: 2.5rem;
	margin-bottom: 1.25rem;
}

.article-content h2 {
	font-size: 1.75rem; /* text-2xl md:text-3xl */
	padding-bottom: 0.75rem;
	border-bottom: 2px solid hsl(var(--primary) / 0.2);
	margin-top: 3.5rem;
}

.article-content h3 {
	font-size: 1.35rem; /* text-xl md:text-2xl */
	padding-left: 1rem;
	border-left: 4px solid hsl(var(--primary));
	margin-top: 2.5rem;
	font-weight: 700;
}

.article-content h4 {
	font-size: 1.2rem;
	font-weight: 700;
}

.article-content strong,
.article-content b {
	color: hsl(var(--foreground));
	font-weight: 700;
}

/* Lists styling */
.article-content ul,
.article-content ol {
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
	padding-left: 1.5rem;
}

.article-content ul {
	list-style-type: disc;
}

.article-content ol {
	list-style-type: decimal;
}

.article-content ul::marker,
.article-content ul li::marker {
	color: hsl(var(--primary));
}

.article-content li {
	margin-bottom: 0.5rem;
	line-height: 1.625;
	padding-left: 0.25rem;
}

.article-content li strong {
	color: hsl(var(--foreground));
}

/* Blockquotes */
.article-content blockquote {
	margin-top: 2rem;
	margin-bottom: 2rem;
	border-left: 4px solid hsl(var(--primary));
	background-color: hsl(var(--cream));
	border-radius: 0 0.25rem 0.25rem 0;
	padding: 1.25rem 1.5rem;
	font-style: italic;
	color: hsl(var(--foreground) / 0.8);
}

.article-content blockquote p {
	margin: 0;
}

/* Links */
.article-content a {
	color: hsl(var(--primary));
	font-weight: 600;
	text-decoration: none;
	transition: color 0.15s ease-in-out;
}

.article-content a:hover {
	text-decoration: underline;
}

/* Tables styling */
.article-content .wp-block-table,
.article-content table {
	width: 100%;
	margin-top: 2rem;
	margin-bottom: 2rem;
	overflow-x: auto;
	display: block;
}

.article-content table {
	border-collapse: collapse;
	border: 1px solid hsl(var(--muted));
	border-radius: 0.25rem;
	display: table; /* Reset for table inside .wp-block-table if nested, or as base */
}

.article-content thead {
	background-color: hsl(var(--secondary));
}

.article-content th {
	color: hsl(var(--secondary-foreground));
	font-family: 'Crimson Pro', serif;
	font-weight: 600;
	padding: 0.75rem 1rem;
	text-align: left;
	font-size: 0.9rem;
}

.article-content td {
	padding: 0.75rem 1rem;
	font-family: 'Crimson Pro', serif;
	font-size: 0.9rem;
	border-top: 1px solid hsl(var(--muted));
	color: hsl(var(--foreground) / 0.85);
}

.article-content tr:nth-child(even) {
	background-color: hsl(var(--cream) / 0.5);
}

.article-content tr:nth-child(odd) {
	background-color: hsl(var(--background));
}

/* Images and Media styling */
.article-content img {
	max-width: 100%;
	height: auto;
	border-radius: 0.25rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.article-content figure {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.article-content figcaption {
	font-size: 0.875rem;
	color: hsl(var(--foreground) / 0.6);
	text-align: center;
	margin-top: 0.5rem;
}

/* Mobile Navigation Drawer */
#mobile-navigation {
	transform: translateX(100%) !important;
}

#mobile-navigation.open {
	transform: translateX(0) !important;
}

/* Helper class for truncating text to a single line */
.truncate {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Elementor Pro & Generic Forms Styling */
.elementor-form .elementor-field-group {
	margin-bottom: 1.25rem;
}

.elementor-form .elementor-field-label,
.elementor-form label {
	display: block !important;
	font-family: var(--font-body) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: hsl(var(--foreground)) !important;
	margin-bottom: 0.25rem !important;
}

.elementor-form .elementor-field,
.elementor-form input[type="text"],
.elementor-form input[type="email"],
.elementor-form input[type="url"],
.elementor-form input[type="password"],
.elementor-form input[type="tel"],
.elementor-form select,
.elementor-form textarea {
	width: 100% !important;
	border: 1px solid hsl(var(--input, 240 5.9% 90%)) !important;
	border-radius: 0.25rem !important;
	padding: 0.5rem 1rem !important;
	font-family: var(--font-body) !important;
	background-color: hsl(var(--background)) !important;
	color: hsl(var(--foreground)) !important;
	font-size: 0.875rem !important;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.elementor-form .elementor-field:focus,
.elementor-form input:focus,
.elementor-form select:focus,
.elementor-form textarea:focus {
	outline: none !important;
	border-color: hsl(var(--primary)) !important;
	box-shadow: 0 0 0 2px hsl(var(--primary) / 0.15) !important;
}

.elementor-form .elementor-button,
.elementor-form button[type="submit"] {
	background-color: hsl(var(--primary)) !important;
	color: hsl(var(--primary-foreground)) !important;
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	padding: 0.75rem 2rem !important;
	border-radius: 0.25rem !important;
	border: none !important;
	cursor: pointer !important;
	transition: opacity 0.15s ease-in-out !important;
	width: 100% !important;
	text-align: center !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.elementor-form .elementor-button:hover,
.elementor-form button[type="submit"]:hover {
	opacity: 0.9 !important;
}

/* Contact Form 7 & WPForms Styling Compatibility */
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea,
.wpcf7-form-control-wrap select,
.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select {
	width: 100% !important;
	border: 1px solid hsl(var(--input, 240 5.9% 90%)) !important;
	border-radius: 0.25rem !important;
	padding: 0.5rem 1rem !important;
	font-family: var(--font-body) !important;
	background-color: hsl(var(--background)) !important;
	color: hsl(var(--foreground)) !important;
	font-size: 0.875rem !important;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.wpcf7-submit,
.wpforms-submit {
	background-color: hsl(var(--primary)) !important;
	color: hsl(var(--primary-foreground)) !important;
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	padding: 0.75rem 2rem !important;
	border-radius: 0.25rem !important;
	border: none !important;
	cursor: pointer !important;
	transition: opacity 0.15s ease-in-out !important;
	width: 100% !important;
	text-align: center !important;
}



