/*
 * Espace PRO — Mon Équipement Pro
 * Reprend la charte de la maquette. Les variables sont redéfinies ici avec
 * les mêmes valeurs que le thème : l'extension reste lisible avec n'importe quel thème.
 */
.bdb {
	--bdb-plaster: #F6F3ED;
	--bdb-plaster-2: #EAE5DB;
	--bdb-card: #FFFFFF;
	--bdb-ink: #1C1D1B;
	--bdb-ink-2: #43443F;
	--bdb-ink-3: #767469;
	--bdb-line: #DCD6C9;
	--bdb-steel: #2C3E46;
	--bdb-accent: #F2B10A;
	--bdb-accent-ink: #16181A;
	--bdb-accent-text: #A8760A;
	--bdb-ok: #2F6B4F;
	--bdb-err: #9E2B12;
	--bdb-radius: 3px;
	--bdb-shadow: 0 1px 0 rgba(22, 24, 26, .05), 0 10px 26px -20px rgba(22, 24, 26, .6);
	--bdb-display: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
	--bdb-body: "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
	--bdb-mono: "IBM Plex Mono", "Courier New", monospace;

	font-family: var(--bdb-body);
	font-size: 14px;
	line-height: 1.5;
	color: var(--bdb-ink);
	display: grid;
	gap: 18px;
}
.bdb *, .bdb *::before, .bdb *::after { box-sizing: border-box; }
.bdb h1, .bdb h2, .bdb h3 {
	font-family: var(--bdb-display);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.05;
	margin: 0;
	color: var(--bdb-ink);
	letter-spacing: .01em;
}
.bdb p { margin: 0; }
.bdb a { color: var(--bdb-ink); }
/* Certains thèmes soulignent tous les liens du contenu : pas les boutons ni les onglets. */
.bdb a.bdb-btn, .bdb .bdb-onglets a, .bdb a.bdb-ligne { text-decoration: none !important; }
.bdb .bdb-mono { font-family: var(--bdb-mono); }

/* ---------- titres ---------- */
.bdb .bdb-titre { font-size: clamp(30px, 6vw, 50px); }
.bdb .bdb-titre-2 { font-size: 26px; }
.bdb .bdb-chapo { font-size: 16px; color: var(--bdb-ink-2); max-width: 70ch; margin-top: 10px; }

/* ---------- boîtes ---------- */
.bdb .bdb-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; align-items: start; }
.bdb .bdb-boite, .bdb .bdb-carte {
	border: 1px solid var(--bdb-line);
	background: var(--bdb-card);
	border-radius: var(--bdb-radius);
	padding: 16px;
	display: grid;
	gap: 10px;
	align-content: start;
}
.bdb .bdb-boite h3 { font-size: 19px; }
.bdb .bdb-boite p { color: var(--bdb-ink-2); font-size: 13.5px; }
.bdb .bdb-carte { border-left: 4px solid var(--bdb-accent); max-width: 760px; }
.bdb .bdb-carte--ok { border-left-color: var(--bdb-ok); }
.bdb .bdb-carte--refus { border-left-color: var(--bdb-err); }
.bdb .bdb-carte--compacte { padding: 10px 14px; margin-bottom: 18px; max-width: none; }

/* ---------- boutons ---------- */
.bdb .bdb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	font-family: var(--bdb-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .03em;
	font-size: 16px;
	line-height: 1;
	border: 1px solid var(--bdb-ink);
	background: var(--bdb-ink);
	color: var(--bdb-plaster);
	padding: 10px 18px;
	border-radius: var(--bdb-radius);
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}
.bdb .bdb-btn:hover, .bdb .bdb-btn:focus-visible {
	background: var(--bdb-accent);
	border-color: var(--bdb-accent);
	color: var(--bdb-accent-ink);
}
.bdb .bdb-btn--accent { background: var(--bdb-accent); border-color: var(--bdb-accent); color: var(--bdb-accent-ink); }
.bdb .bdb-btn--accent:hover, .bdb .bdb-btn--accent:focus-visible { background: var(--bdb-ink); border-color: var(--bdb-ink); color: var(--bdb-plaster); }
.bdb .bdb-btn--fantome { background: transparent; color: var(--bdb-ink); }
.bdb .bdb-btn--petit { min-height: 36px; font-size: 13px; padding: 6px 12px; }
.bdb :focus-visible { outline: 2px solid var(--bdb-steel); outline-offset: 2px; }

/* ---------- formulaire ---------- */
.bdb .bdb-form { display: grid; gap: 18px; max-width: 760px; }
.bdb .bdb-form fieldset {
	border: 1px solid var(--bdb-line);
	background: var(--bdb-card);
	border-radius: var(--bdb-radius);
	padding: 14px 16px 16px;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 14px;
}
.bdb .bdb-form legend {
	font-family: var(--bdb-display);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 17px;
	letter-spacing: .03em;
	padding: 0 6px;
}
.bdb .bdb-champ { display: grid; gap: 4px; margin: 0; align-content: start; }
.bdb .bdb-champ--large, .bdb .bdb-livraison .bdb-case { grid-column: 1 / -1; }
.bdb .bdb-champ label { font-size: 12.5px; color: var(--bdb-ink-2); font-weight: 500; }
.bdb .bdb-champ abbr { color: var(--bdb-err); text-decoration: none; border: 0; }
.bdb .bdb-champ input[type="text"],
.bdb .bdb-champ input[type="email"],
.bdb .bdb-champ input[type="tel"],
.bdb .bdb-champ select {
	width: 100%;
	min-height: 44px;
	font: inherit;
	font-size: 16px; /* 16 px : le téléphone ne zoome pas pendant la saisie */
	padding: 9px 11px;
	border: 1px solid var(--bdb-line);
	border-radius: var(--bdb-radius);
	background: var(--bdb-plaster);
	color: var(--bdb-ink);
}
.bdb .bdb-champ input:focus, .bdb .bdb-champ select:focus { outline: 2px solid var(--bdb-accent); outline-offset: 0; border-color: var(--bdb-accent); background: var(--bdb-card); }
.bdb .bdb-aide { font-size: 12px; color: var(--bdb-ink-3); }
.bdb .bdb-champ--erreur input, .bdb .bdb-champ--erreur select { border-color: var(--bdb-err); background: #FBF1EE; }
.bdb .bdb-erreur-champ { font-size: 12.5px; color: var(--bdb-err); font-weight: 500; }
.bdb .bdb-case { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: var(--bdb-ink-2); cursor: pointer; }
.bdb .bdb-case input { width: 20px; height: 20px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--bdb-ink); }

/* Adresse de livraison : visible seulement si la case est cochée. */
.bdb .bdb-livraison-champs { display: none; grid-column: 1 / -1; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.bdb .bdb-livraison:has(input[name="bdb_autre_liv"]:checked) .bdb-livraison-champs { display: grid; }

.bdb .bdb-piege { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bdb .bdb-actions { display: flex; gap: 12px 18px; align-items: center; flex-wrap: wrap; }
.bdb .bdb-lien { font-size: 13.5px; }
.bdb .bdb-note { font-size: 12.5px; color: var(--bdb-ink-2); border-left: 3px solid var(--bdb-accent); padding-left: 10px; }
.bdb .bdb-alerte { border: 1px solid var(--bdb-line); border-left: 4px solid var(--bdb-accent); background: var(--bdb-card); padding: 12px 14px; border-radius: var(--bdb-radius); }
.bdb .bdb-alerte--erreur { border-left-color: var(--bdb-err); color: var(--bdb-err); }

/* ---------- pastilles de statut ---------- */
.bdb .bdb-statut {
	display: inline-block;
	font-family: var(--bdb-mono);
	font-size: 10.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 10px;
	white-space: nowrap;
	margin-right: 6px;
}
.bdb .bdb-statut--ok { background: #E6F0E9; color: #1F4F37; border: 1px solid #BFD9C9; }
.bdb .bdb-statut--attente { background: #FDF0D2; color: #7A5A05; border: 1px solid #EBD79B; }
.bdb .bdb-statut--refus { background: #F7E3DD; color: #7E2410; border: 1px solid #E5BFB3; }

/* ---------- tableau de bord PRO ---------- */
.bdb .bdb-barre-pro {
	display: flex;
	align-items: center;
	gap: 12px 20px;
	flex-wrap: wrap;
	background: var(--bdb-card);
	border: 1px solid var(--bdb-line);
	border-left: 4px solid var(--bdb-ok);
	border-radius: var(--bdb-radius);
	padding: 14px 16px;
}
.bdb .bdb-qui { display: grid; gap: 2px; min-width: 0; }
.bdb .bdb-qui strong { font-family: var(--bdb-display); font-size: 21px; text-transform: uppercase; letter-spacing: .02em; }
.bdb .bdb-qui span { font-family: var(--bdb-mono); font-size: 11px; color: var(--bdb-ink-3); word-break: break-word; }
.bdb .bdb-indicateurs { display: flex; gap: 10px 26px; flex-wrap: wrap; margin-left: auto; align-items: center; }
.bdb .bdb-indicateur { display: grid; gap: 1px; }
.bdb .bdb-indicateur b { font-family: var(--bdb-display); font-size: 20px; line-height: 1; }
.bdb .bdb-indicateur span:not(.bdb-statut) { font-family: var(--bdb-mono); font-size: 10px; letter-spacing: .08em; color: var(--bdb-ink-3); text-transform: uppercase; }

.bdb .bdb-onglets { display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--bdb-line); -webkit-overflow-scrolling: touch; }
.bdb .bdb-onglets a {
	font-family: var(--bdb-display);
	text-transform: uppercase;
	font-size: 16px;
	color: var(--bdb-ink-2);
	padding: 10px 12px;
	text-decoration: none;
	white-space: nowrap;
}
.bdb .bdb-onglets a:hover { color: var(--bdb-ink); background: var(--bdb-plaster-2); }
.bdb .bdb-onglets a[aria-current="page"] { color: var(--bdb-ink); box-shadow: inset 0 -3px 0 var(--bdb-accent); }

.bdb .bdb-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.bdb .bdb-table th, .bdb .bdb-table td { text-align: left; padding: 8px 0; border-bottom: 1px solid var(--bdb-line); vertical-align: top; }
.bdb .bdb-table th { color: var(--bdb-ink-3); font-weight: 500; width: 42%; padding-right: 10px; }

.bdb .bdb-liste { display: grid; gap: 8px; }
.bdb .bdb-ligne {
	display: grid;
	gap: 2px;
	border: 1px solid var(--bdb-line);
	border-radius: var(--bdb-radius);
	padding: 10px 12px;
	background: var(--bdb-plaster);
	text-decoration: none;
	color: var(--bdb-ink);
}
.bdb .bdb-ligne:hover { box-shadow: var(--bdb-shadow); border-color: var(--bdb-accent); }
.bdb .bdb-ligne b { font-size: 13.5px; }
.bdb .bdb-ligne span { font-family: var(--bdb-mono); font-size: 10.5px; color: var(--bdb-ink-3); }

/* ---------- tarifs dégressifs (fiche produit, espace PRO) ---------- */
.bdb.bdb-degressif { margin: 4px 0 18px; gap: 6px; }
.bdb .bdb-table--paliers { border: 1px solid var(--bdb-line); background: var(--bdb-card); margin: 0; }
.bdb .bdb-table--paliers caption {
	caption-side: top;
	text-align: left;
	font-family: var(--bdb-display);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 15px;
	letter-spacing: .04em;
	padding: 0 0 6px;
	color: var(--bdb-ink);
}
.bdb .bdb-table--paliers thead th {
	background: var(--bdb-plaster-2);
	color: var(--bdb-ink);
	font-family: var(--bdb-display);
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: .04em;
	border-bottom: 2px solid var(--bdb-accent);
	width: auto;
}
.bdb .bdb-table--paliers th, .bdb .bdb-table--paliers td { padding: 7px 10px; }
.bdb .bdb-table--paliers .bdb-prix { font-family: var(--bdb-display); font-weight: 700; font-size: 17px; white-space: nowrap; }
.bdb.bdb-degressif .bdb-note a { font-weight: 600; }

/* ---------- devis ---------- */
.bdb-lien-devis { text-align: center; margin: 10px 0 0; }
.bdb .bdb-devis { gap: 6px; }
.bdb .bdb-devis-tete { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.bdb .bdb-devis-objet { font-family: var(--bdb-body); font-size: 12px; color: var(--bdb-ink-2); }
.bdb .bdb-devis-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 4px; }
.bdb .bdb-devis-actions form { margin: 0; }
.bdb .bdb-form textarea {
	width: 100%;
	font: inherit;
	font-size: 16px;
	padding: 9px 11px;
	border: 1px solid var(--bdb-line);
	border-radius: var(--bdb-radius);
	background: var(--bdb-plaster);
	color: var(--bdb-ink);
}

/* ---------- téléphone ---------- */
@media (max-width: 600px) {
	.bdb .bdb-form fieldset, .bdb .bdb-livraison-champs { grid-template-columns: 1fr; }
	.bdb .bdb-indicateurs { margin-left: 0; }
	.bdb .bdb-actions .bdb-btn { width: 100%; }
	.bdb .bdb-titre-2 { font-size: 23px; }
}
