/*
Theme Name: COMPARE CAR
Template: blocksy
Description: Thème enfant de Blocksy pour COMPARE CAR : charte blanc et bleu marine, mobile d'abord.
Version: 0.1.0
Text Domain: compare-car
*/

:root {
	--cc-navy: #0b2545;
	--cc-navy-2: #17406f;
	--cc-ink: #1b2a41;
	--cc-muted: #5a6880;
	--cc-line: #dce3ec;
	--cc-soft: #f4f6fa;
	--cc-white: #ffffff;
	--cc-gold: #b08d57;
	--cc-wide: 1160px;
	--cc-font: "Manrope", "Segoe UI", system-ui, sans-serif;
}

body { font-family: var(--cc-font); color: var(--cc-ink); }
h1, h2, h3, h4, .site-title { font-family: var(--cc-font); letter-spacing: -0.01em; }

/* En-tête */
[data-id="logo"] .site-title a, .site-title a { color: var(--cc-navy); font-weight: 800; letter-spacing: 0.04em; }
.site-description { display: none; }
/* Logo officiel : le titre texte reste pour les lecteurs d'écran, sans doublon visuel. */
[data-id="logo"] .site-logo-container + .site-title-container { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[data-id="logo"] .site-logo-container img { --logo-max-height: 46px; height: 46px; max-height: 46px; width: auto; }
@media (min-width: 1000px) {
	[data-id="logo"] .site-logo-container img { --logo-max-height: 64px; height: 64px; max-height: 64px; }
}
[data-id="search"], .ct-header-search { display: none !important; }

/* En-tête de la page Blog */
.cc-blog-entete { grid-column: 1 / -1; margin: 0 0 24px; }
.cc-blog-entete h1 { font-size: clamp(28px, 4vw, 40px); color: var(--cc-navy); margin: 0 0 8px; }
.cc-blog-entete p { color: var(--cc-muted); margin: 0; max-width: 720px; }

/* Pied de page Blocksy remplacé par celui de COMPARE CAR */
#footer.ct-footer, footer.ct-footer { display: none; }

/* Sections de pages */
.cc-section { padding: 56px 16px; }
.cc-section > * { max-width: var(--cc-wide); margin-left: auto; margin-right: auto; }
.cc-section h2 { color: var(--cc-navy); font-size: clamp(26px, 4vw, 34px); line-height: 1.2; margin: 0 auto 10px; }
.cc-section .cc-intro { color: var(--cc-muted); margin-bottom: 28px; max-width: var(--cc-wide); }
.cc-soft { background: var(--cc-soft); }

.home .ct-container-full, .home .site-main, .home .entry-content, .home article { margin: 0; padding: 0; }
.home .entry-content > .alignfull { margin-top: 0; margin-bottom: 0; }

/* Bandeau d'accueil */
.cc-hero {
	background-color: var(--cc-navy);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.06'%3E%3Cpath d='M48 8l11.7 28.3L88 48 59.7 59.7 48 88 36.3 59.7 8 48l28.3-11.7z'/%3E%3Crect x='24' y='24' width='48' height='48'/%3E%3C/g%3E%3C/svg%3E");
	color: var(--cc-white);
	padding: 44px 16px 56px;
}
.cc-hero > * { max-width: var(--cc-wide); margin-left: auto; margin-right: auto; }
.cc-hero h1 { color: var(--cc-white); font-size: clamp(32px, 6vw, 52px); line-height: 1.1; font-weight: 800; margin: 0 auto 12px; }
.cc-hero p { color: #d7e0ec; font-size: clamp(16px, 2.4vw, 19px); margin-bottom: 24px; }

/* Recherche (maquette, sans moteur) */
.cc-search { background: var(--cc-white); color: var(--cc-ink); border-radius: 10px; padding: 18px; box-shadow: 0 14px 34px rgba(5, 18, 38, .28); }
.cc-search-grid { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.cc-field { display: grid; gap: 4px; min-width: 0; }
.cc-field-wide { grid-column: 1 / -1; }
.cc-field label { font-size: 13px; font-weight: 600; color: var(--cc-navy); margin: 0; }
.cc-field select, .cc-field input {
	width: 100%; min-width: 0; height: 46px; padding: 0 10px; font: inherit; font-size: 15px; color: var(--cc-ink);
	background: var(--cc-white); border: 1px solid var(--cc-line); border-radius: 6px;
}
.cc-field select:focus, .cc-field input:focus { outline: 2px solid var(--cc-navy-2); outline-offset: 1px; }
.cc-search-btn {
	grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; height: 50px; border: 0; border-radius: 6px;
	background: var(--cc-navy); color: var(--cc-white); font: inherit; font-weight: 700; cursor: pointer;
}
.cc-search-btn:hover { background: var(--cc-navy-2); }
.cc-hero .cc-search-note, .cc-search-note { margin: 10px 0 0; font-size: 13px; color: var(--cc-muted); }

/* Atouts */
.cc-trust { padding: 24px 16px; border-bottom: 1px solid var(--cc-line); }
.cc-trust .wp-block-columns { max-width: var(--cc-wide); margin: 0 auto; gap: 12px 28px; }
.cc-trust p { margin: 0; font-size: 15px; color: var(--cc-muted); }
.cc-trust strong { display: block; color: var(--cc-navy); font-size: 16px; }
.cc-trust strong::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; background: var(--cc-gold); transform: rotate(45deg) translateY(-2px); }

/* Cartes */
.cc-cards { gap: 16px; margin-bottom: 0; }
.cc-card { background: var(--cc-white); border: 1px solid var(--cc-line); border-radius: 10px; padding: 20px; }
.cc-card h3 { color: var(--cc-navy); font-size: 19px; margin: 0 0 6px; }
.cc-card p { margin: 0 0 6px; color: var(--cc-muted); font-size: 15px; }
.cc-card-tag { font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--cc-gold) !important; font-weight: 700; }
.cc-card-top { border-top: 3px solid var(--cc-navy); }
.cc-note { font-size: 14px; color: var(--cc-muted); margin-top: 16px; }

/* Lien bouton */
.cc-link a { color: var(--cc-navy); font-weight: 700; }

/* Atlas Nomad Campers : section discrète */
.cc-atlas { padding: 28px 16px; border-top: 1px solid var(--cc-line); }
.cc-atlas > * { max-width: var(--cc-wide); margin-left: auto; margin-right: auto; }
.cc-atlas p { margin-bottom: 4px; color: var(--cc-muted); font-size: 15px; }

/* Pied de page */
.cc-footer { background: var(--cc-navy); color: #d7e0ec; padding: 40px 16px 88px; font-size: 15px; }
.cc-footer-grid { max-width: var(--cc-wide); margin: 0 auto; display: grid; gap: 28px; grid-template-columns: 1fr; }
.cc-footer strong { display: block; color: var(--cc-white); margin-bottom: 8px; }
.cc-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cc-footer a { color: #d7e0ec; }
.cc-footer a:hover { color: var(--cc-white); }
.cc-footer p { margin: 0 0 6px; }
.cc-footer-bottom { max-width: var(--cc-wide); margin: 28px auto 0; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: 13px; }

/* Bouton WhatsApp */
.cc-wa {
	position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: max(16px, env(safe-area-inset-bottom, 0px)); z-index: 50;
	display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 16px; border-radius: 24px;
	background: #1a7f4f; color: var(--cc-white); font-weight: 700; font-size: 15px; box-shadow: 0 6px 18px rgba(5, 18, 38, .28);
}
.cc-wa:hover { color: var(--cc-white); background: #156a42; }
.cc-wa svg { width: 20px; height: 20px; fill: currentColor; }

@media (max-width: 639px) {
	.cc-wa { width: 48px; padding: 0; justify-content: center; font-size: 0; gap: 0; }
}
@media (min-width: 640px) {
	.cc-search-grid { grid-template-columns: repeat(4, 1fr); }
	.cc-field-half { grid-column: span 2; }
	.cc-footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1000px) {
	.cc-hero { padding: 72px 16px 84px; }
	.cc-section { padding: 72px 16px; }
	.cc-search-grid { grid-template-columns: repeat(6, 1fr); align-items: end; }
	.cc-field-half { grid-column: span 3; }
	.cc-field-date { grid-column: span 2; }
	.cc-field-time { grid-column: span 1; }
	.cc-field-trans, .cc-search-btn { grid-column: span 3; }
	.cc-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
