/*
Theme Name:  AK Informatique (Divi Child)
Description: Thème enfant Divi 5 pour AK Informatique — styles et SEO local.
Author:      AK Informatique
Template:    Divi
Version:     1.0.0
Text Domain: ak-informatique
*/

/* ---------- Charte ---------- */
:root {
	--ak-dark: #1d1b1b;
	--ak-dark-2: #2b2727;
	--ak-cream: #f7f2ee;
	--ak-accent: #a6604a;
	--ak-accent-dark: #8a4d3a;
	--ak-rose: #e3bfae;
	--ak-text: #3d3a3a;
	--ak-radius: 14px;
}

body {
	color: var(--ak-text);
	font-size: 16px;
	line-height: 1.7;
}

h1, h2, h3, h4,
.et_pb_module_header {
	color: var(--ak-dark);
	font-weight: 700;
	line-height: 1.25;
}

a { color: var(--ak-accent-dark); }

/* ---------- En-tête ---------- */
#main-header { box-shadow: 0 2px 18px rgba(0, 0, 0, .25); }
#top-menu li.current-menu-item > a,
#top-menu li.current-menu-ancestor > a { color: var(--ak-rose) !important; }
#top-menu .ak-menu-cta > a {
	background: var(--ak-accent);
	color: #fff !important;
	padding: 10px 18px !important;
	border-radius: 999px;
}
#top-menu .ak-menu-cta > a:hover { background: var(--ak-accent-dark); opacity: 1; }
.et-fixed-header #top-menu .ak-menu-cta > a { padding: 8px 16px !important; }

/* ---------- Sections ---------- */
.ak-narrow.et_pb_row { max-width: 860px; }
.ak-narrow .ak-buttons { text-align: center; }
.ak-hero {
	background-image: radial-gradient(circle at 85% 20%, rgba(166, 96, 74, .28), transparent 55%) !important;
}
.ak-hero h1 { color: #fff; font-size: 46px; letter-spacing: -.5px; }
.ak-hero .ak-kicker,
.ak-kicker {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 3px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ak-rose);
	margin-bottom: 12px;
}
.ak-light .ak-kicker { color: var(--ak-accent-dark); }
.ak-hero p { color: rgba(255, 255, 255, .85); font-size: 18px; }
.ak-dark h2, .ak-dark h3, .ak-dark h4 { color: #fff; }
.ak-dark p, .ak-dark li { color: rgba(255, 255, 255, .82); }
.ak-dark a { color: var(--ak-rose); }

.ak-check ul { list-style: none; padding-left: 0 !important; }
.ak-check li { position: relative; padding-left: 30px; margin-bottom: 10px; }
.ak-check li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--ak-accent);
	font-weight: 700;
}
.ak-dark .ak-check li::before { color: var(--ak-rose); }

/* ---------- Cartes services (blurbs) ---------- */
.ak-card {
	background: #fff;
	border-radius: var(--ak-radius);
	padding: 32px 28px !important;
	box-shadow: 0 6px 24px rgba(29, 27, 27, .07);
	transition: transform .25s ease, box-shadow .25s ease;
	height: 100%;
}
.ak-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(29, 27, 27, .12);
}
.ak-card .et-pb-icon {
	background: var(--ak-cream);
	color: var(--ak-accent) !important;
	border-radius: 12px;
	padding: 14px;
}
.ak-card .et_pb_module_header { font-size: 20px; padding-bottom: 8px; }
.ak-card .et_pb_module_header a { color: var(--ak-dark); }
.ak-card .ak-more {
	font-weight: 600;
	color: var(--ak-accent-dark);
	text-decoration: none;
}
.ak-card .ak-more::after { content: " →"; }
.ak-dark .ak-card { background: var(--ak-dark-2); box-shadow: none; }
.ak-dark .ak-card .et_pb_module_header,
.ak-dark .ak-card .et_pb_module_header a { color: #fff; }
.ak-dark .ak-card .et-pb-icon { background: rgba(255, 255, 255, .06); color: var(--ak-rose) !important; }

/* Colonnes de même hauteur pour les cartes */
.ak-equal .et_pb_column { display: flex; flex-direction: column; }
.ak-equal .et_pb_column > .et_pb_module { flex: 1 1 auto; }

/* ---------- Étapes ---------- */
.ak-step .et_pb_module_header { font-size: 18px; }
.ak-step .ak-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ak-accent);
	color: #fff;
	font-weight: 700;
	margin-bottom: 14px;
}

/* ---------- FAQ (toggles) ---------- */
.ak-faq.et_pb_toggle {
	border: 1px solid #ebe3de;
	border-radius: 10px;
	background: #fff;
}
.ak-faq .et_pb_toggle_title { color: var(--ak-dark); font-weight: 600; }
.ak-faq.et_pb_toggle_open .et_pb_toggle_title::before { color: var(--ak-accent); }

/* ---------- Boutons ---------- */
body .et_pb_button.ak-btn {
	background: var(--ak-accent);
	border: 2px solid var(--ak-accent);
	color: #fff !important;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 600;
	padding: 12px 28px !important;
}
body .et_pb_button.ak-btn:hover {
	background: var(--ak-accent-dark);
	border-color: var(--ak-accent-dark);
	padding: 12px 28px !important;
}
body .et_pb_button.ak-btn-ghost {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, .7);
	color: #fff !important;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 600;
	padding: 12px 28px !important;
}
body .et_pb_button.ak-btn-ghost:hover {
	background: #fff;
	color: var(--ak-dark) !important;
	padding: 12px 28px !important;
}
body .et_pb_button.ak-btn::after,
body .et_pb_button.ak-btn-ghost::after { display: none; }
.ak-buttons .et_pb_button_module_wrapper { display: inline-block; margin: 0 12px 12px 0; }

/* ---------- Formulaire ---------- */
.ak-form .input,
.ak-form input[type="text"],
.ak-form textarea {
	background: #fff !important;
	border: 1px solid #e3d9d3 !important;
	border-radius: 10px;
	color: var(--ak-text) !important;
}
.ak-form .et_pb_contact_submit {
	background: var(--ak-accent);
	border: 0;
	color: #fff;
	border-radius: 999px;
	padding: 10px 30px;
}
.ak-form .et_pb_contact_submit:hover { background: var(--ak-accent-dark); padding: 10px 30px; }
.ak-form .et_pb_contact_submit::after { display: none; }

/* ---------- Pied de page ---------- */
#main-footer { background: var(--ak-dark); }
#main-footer .footer-widget h4,
#main-footer .footer-widget .title { color: #fff; }
#main-footer .footer-widget,
#main-footer .footer-widget li,
#main-footer .footer-widget a { color: rgba(255, 255, 255, .78); }
#main-footer .footer-widget a:hover { color: var(--ak-rose); }
#main-footer .footer-widget li::before { border-color: var(--ak-rose); }
#footer-bottom { background: #141212; }
#footer-info, #footer-info a { color: rgba(255, 255, 255, .6); }

/* ---------- Bouton d'appel mobile ---------- */
.ak-call-fab { display: none; }
@media (max-width: 980px) {
	.ak-hero h1 { font-size: 34px; }
	.ak-call-fab {
		display: flex;
		align-items: center;
		gap: 8px;
		position: fixed;
		right: 16px;
		bottom: 16px;
		z-index: 9999;
		background: var(--ak-accent);
		color: #fff !important;
		font-weight: 700;
		padding: 12px 18px;
		border-radius: 999px;
		box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
		text-decoration: none;
	}
}
@media (max-width: 767px) {
	.ak-hero h1 { font-size: 30px; }
	.ak-card { padding: 26px 22px !important; }
}
