/*
Theme Name: Hello Elementor Child
Theme URI: https://studionumerik.fr/
Description: Hello Elementor Child Theme
Author: Studio Numerik
Author URI: https://studionumerik.fr/
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hello-elementorchild
*/


/* ==========================================================
   VARIABLES KADRO BOIS
   ========================================================== */

:root {
	--kadro-green: #0f7f35;
	--kadro-dark-green: #164d2a;
	--kadro-orange: #ce470a;
	--kadro-orange-hover: #a83908;
	--kadro-border: #dfe5e1;
	--kadro-light-background: #f5f8f6;
	--kadro-text: #303531;
	--kadro-muted-text: #6a716c;
}


/* ==========================================================
   CONFIGURATEUR KADRO BOIS — FORMIDABLE FORMS
   ========================================================== */


/* ----------------------------------------------------------
   1. RÉGLAGES GÉNÉRAUX DU MODE CONVERSATIONNEL
   ---------------------------------------------------------- */

/* Masque le bouton central Continuer */

.frm_continue_chat_wrapper {
	display: none !important;
}


/* Masque les indications de navigation clavier */

.frm-key-instructions {
	display: none !important;
}


/* ----------------------------------------------------------
   2. FLÈCHES DE NAVIGATION
   ---------------------------------------------------------- */

.frm_chat_arrow {
	color: #ffffff !important;
	background-color: var(--kadro-green) !important;
}


/* Icônes présentes à l’intérieur des flèches */

.frm_chat_arrow svg {
	color: #ffffff !important;
	fill: currentColor !important;
}


/* Survol des flèches */

.frm_chat_arrow:hover,
.frm_chat_arrow:focus {
	color: #ffffff !important;
	background-color: var(--kadro-orange) !important;
}


/* ----------------------------------------------------------
   3. BOUTONS PRINCIPAUX DU CONFIGURATEUR
   ---------------------------------------------------------- */

.frm_style_lines-no-boxes.with_frm_style
.frm_compact
.frm_dropzone.dz-clickable
.dz-message,

.frm_style_lines-no-boxes.with_frm_style
input[type="submit"],

.frm_style_lines-no-boxes.with_frm_style
.frm_submit input[type="button"],

.frm_style_lines-no-boxes.with_frm_style
.frm_submit button,

.frm_form_submit_style,

.frm_style_lines-no-boxes.with_frm_style
.frm-edit-page-btn {
	color: #ffffff !important;
	background-color: var(--kadro-orange) !important;
	border-color: var(--kadro-orange) !important;
}


/* Survol des boutons principaux */

.frm_style_lines-no-boxes.with_frm_style
input[type="submit"]:hover,

.frm_style_lines-no-boxes.with_frm_style
.frm_submit input[type="button"]:hover,

.frm_style_lines-no-boxes.with_frm_style
.frm_submit button:hover,

.frm_form_submit_style:hover,

.frm_style_lines-no-boxes.with_frm_style
.frm-edit-page-btn:hover {
	color: #ffffff !important;
	background-color: var(--kadro-green) !important;
	border-color: var(--kadro-green) !important;
}


/* ----------------------------------------------------------
   4. BOUTON FINAL ENVOYER MA DEMANDE
   ---------------------------------------------------------- */

.frm_style_lines-no-boxes.with_frm_style
.frm_submit
.frm_button_submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	visibility: visible !important;
	opacity: 1 !important;

	color: #ffffff !important;
	background-color: var(--kadro-orange) !important;
	border-color: var(--kadro-orange) !important;
}


/* Survol du bouton final */

.frm_style_lines-no-boxes.with_frm_style
.frm_submit
.frm_button_submit:hover {
	color: #ffffff !important;
	background-color: var(--kadro-green) !important;
	border-color: var(--kadro-green) !important;
}


/* ----------------------------------------------------------
   5. DESCRIPTIONS ET MESSAGES
   ---------------------------------------------------------- */

.frm_style_lines-no-boxes.with_frm_style
p.description,

.frm_style_lines-no-boxes.with_frm_style
div.description,

.frm_style_lines-no-boxes.with_frm_style
div.frm_description,

.frm_style_lines-no-boxes.with_frm_style
.frm-show-form > div.frm_description,

.frm_style_lines-no-boxes.with_frm_style
.frm_error,

.frm_style_lines-no-boxes.with_frm_style
.frm_pro_max_limit_desc {
	text-align: center !important;
}


/* ==========================================================
   ESPACE COMMERCIAL KADRO BOIS
   ========================================================== */


/* ----------------------------------------------------------
   1. CONTENEUR GÉNÉRAL
   ---------------------------------------------------------- */

.kadro-commercial-space,
.kadro-commercial-space *,
.kadro-filter-form,
.kadro-filter-form *,
.kadro-devis-detail,
.kadro-devis-detail * {
	box-sizing: border-box;
}

.kadro-commercial-space {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}
/* ==========================================================
   FORMULAIRE DE RECHERCHE
   ========================================================== */

.kadro-search-box,
.kadro-search-box * {
	box-sizing: border-box;
}

.kadro-search-box {
	width: 100%;
	margin: 0 0 40px;
}

.kadro-filter-form {
	display: flex !important;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;

	width: 100%;
	margin: 0 !important;
	padding: 22px !important;

	background-color: #ffffff;
	border: 1px solid var(--kadro-border);
	border-radius: 10px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}


/* Groupe contenant les trois champs */

.kadro-search-inputs {
	display: grid;
	grid-template-columns:
		minmax(150px, 0.7fr)
		minmax(240px, 1.3fr)
		minmax(190px, 0.9fr);
	flex: 1;
	gap: 12px;
	min-width: 0;
}


/* Groupe contenant Rechercher et Réinitialiser */

.kadro-search-actions {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: 12px;
}


/* Champs */

.kadro-search-inputs input[type="text"],
.kadro-search-inputs input[type="email"],
.kadro-search-inputs input[type="tel"],
.kadro-search-inputs input[type="number"],
.kadro-search-inputs input[type="search"],
.kadro-search-inputs select {
	width: 100% !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 14px !important;

	color: var(--kadro-text);
	font-family: inherit;
	font-size: 15px;
	line-height: 48px;

	background-color: #ffffff;
	border: 1px solid #bdc7c0 !important;
	border-radius: 5px !important;
	box-shadow: none !important;
}

.kadro-search-inputs input::placeholder {
	color: #747b76;
	opacity: 1;
}

.kadro-search-inputs input:focus,
.kadro-search-inputs select:focus {
	border-color: var(--kadro-green) !important;
	outline: 3px solid rgba(15, 127, 53, 0.12);
	outline-offset: 0;
}


/* Bouton Rechercher */

.kadro-search-actions button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 125px;
	min-height: 48px;
	margin: 0 !important;
	padding: 11px 20px !important;

	color: #ffffff !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;

	background-color: var(--kadro-orange) !important;
	border: 1px solid var(--kadro-orange) !important;
	border-radius: 5px !important;
	box-shadow: none !important;

	cursor: pointer;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.kadro-search-actions button[type="submit"]:hover {
	color: #ffffff !important;
	background-color: var(--kadro-green) !important;
	border-color: var(--kadro-green) !important;
	transform: translateY(-1px);
}


/* Lien Réinitialiser */

.kadro-reset-search {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 48px;
	margin: 0;

	color: var(--kadro-dark-green);
	font-size: 14px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}

.kadro-reset-search:hover {
	color: var(--kadro-orange);
}


/* Tablette */

@media screen and (max-width: 1024px) {

	.kadro-filter-form {
		align-items: stretch;
		flex-direction: column;
	}

	.kadro-search-inputs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kadro-search-inputs input:last-child {
		grid-column: 1 / -1;
	}

	.kadro-search-actions {
		justify-content: flex-start;
	}
}


/* Mobile */

@media screen and (max-width: 700px) {

	.kadro-filter-form {
		padding: 17px !important;
	}

	.kadro-search-inputs {
		grid-template-columns: 1fr;
	}

	.kadro-search-inputs input:last-child {
		grid-column: auto;
	}

	.kadro-search-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.kadro-search-actions button[type="submit"],
	.kadro-reset-search {
		width: 100%;
	}
}

/* ==========================================================
   BOUTON D’EXPORT CSV
   ========================================================== */

.kadro-commercial-export {
	display: flex;
	align-items: center;
	justify-content: flex-end;

	width: 100%;
	margin: 0 0 20px;
}

.kadro-commercial-export a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 46px;
	padding: 11px 20px;

	color: #ffffff !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;

	background-color: var(--kadro-orange);
	border: 1px solid var(--kadro-orange);
	border-radius: 5px;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.kadro-commercial-export a:hover {
	color: #ffffff !important;
	background-color: var(--kadro-green);
	border-color: var(--kadro-green);
	transform: translateY(-1px);
}


/* ==========================================================
   CONTENEUR DU TABLEAU
   ========================================================== */

.kadro-commercial-results {
	position: relative;

	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	padding-bottom: 12px;

	border-radius: 10px;

	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: #8da096 #edf1ee;
}


/* Barre de défilement horizontale */

.kadro-commercial-results::-webkit-scrollbar {
	height: 10px;
}

.kadro-commercial-results::-webkit-scrollbar-track {
	background-color: #edf1ee;
	border-radius: 20px;
}

.kadro-commercial-results::-webkit-scrollbar-thumb {
	background-color: #8da096;
	border-radius: 20px;
}

.kadro-commercial-results::-webkit-scrollbar-thumb:hover {
	background-color: #6f8378;
}


/* ==========================================================
   TABLEAU DES DEMANDES
   ========================================================== */

.kadro-commercial-results table,
.kadro-devis-table {
	width: 100% !important;
	min-width: 1650px;
	margin: 0 !important;

	border-spacing: 0;
	border-collapse: separate !important;

	background-color: #ffffff;
	border: 1px solid var(--kadro-border);
	border-radius: 10px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);

	overflow: hidden;
}


/* En-tête du tableau */

.kadro-commercial-results table thead,
.kadro-devis-table thead {
	background-color: var(--kadro-dark-green);
}

.kadro-commercial-results table th,
.kadro-devis-table th {
	padding: 15px 16px !important;

	color: #ffffff !important;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.4;
	text-align: left;
	vertical-align: middle;

	background-color: var(--kadro-dark-green) !important;
	border: none !important;
	border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-bottom: none !important;

	white-space: normal;
}

.kadro-commercial-results table th:last-child,
.kadro-devis-table th:last-child {
	border-right: none !important;
}


/* Cellules du tableau */

.kadro-commercial-results table td,
.kadro-devis-table td {
	padding: 16px !important;

	color: var(--kadro-text);
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
	vertical-align: top;

	background-color: #ffffff;
	border: none !important;
	border-right: 1px solid #e6ebe7 !important;
	border-bottom: 1px solid #e6ebe7 !important;
}

.kadro-commercial-results table td:last-child,
.kadro-devis-table td:last-child {
	border-right: none !important;
}

.kadro-commercial-results table tbody tr:last-child td,
.kadro-devis-table tbody tr:last-child td {
	border-bottom: none !important;
}


/* Une ligne sur deux */

.kadro-commercial-results table tbody tr:nth-child(even) td,
.kadro-devis-table tbody tr:nth-child(even) td {
	background-color: #f7f9f8;
}


/* Survol d’une ligne */

.kadro-commercial-results table tbody tr:hover td,
.kadro-devis-table tbody tr:hover td {
	background-color: #edf5ef;
}


/* ==========================================================
   PREMIÈRE COLONNE FIXE
   ========================================================== */

.kadro-commercial-results table th:first-child,
.kadro-devis-table th:first-child {
	position: sticky;
	left: 0;
	z-index: 4;

	width: 110px;
	min-width: 110px;

	background-color: var(--kadro-dark-green) !important;
}

.kadro-commercial-results table td:first-child,
.kadro-devis-table td:first-child {
	position: sticky;
	left: 0;
	z-index: 3;

	width: 110px;
	min-width: 110px;

	background-color: #ffffff;
}

.kadro-commercial-results table tbody tr:nth-child(even) td:first-child,
.kadro-devis-table tbody tr:nth-child(even) td:first-child {
	background-color: #f7f9f8;
}

.kadro-commercial-results table tbody tr:hover td:first-child,
.kadro-devis-table tbody tr:hover td:first-child {
	background-color: #edf5ef;
}


/* ==========================================================
   LARGEUR DES PREMIÈRES COLONNES
   ========================================================== */

.kadro-commercial-results table th:nth-child(2),
.kadro-commercial-results table td:nth-child(2),
.kadro-devis-table th:nth-child(2),
.kadro-devis-table td:nth-child(2) {
	width: 90px;
	min-width: 90px;
}

.kadro-commercial-results table th:nth-child(3),
.kadro-commercial-results table td:nth-child(3),
.kadro-devis-table th:nth-child(3),
.kadro-devis-table td:nth-child(3) {
	width: 135px;
	min-width: 135px;
}


/* ==========================================================
   LIENS DU TABLEAU
   ========================================================== */

.kadro-commercial-results table a,
.kadro-devis-table a {
	color: var(--kadro-dark-green);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.kadro-commercial-results table a:hover,
.kadro-devis-table a:hover {
	color: var(--kadro-orange);
}


/* ==========================================================
   IMAGES DU CONFIGURATEUR DANS LE TABLEAU
   ========================================================== */

.kadro-commercial-results table img,
.kadro-devis-table img {
	display: block;

	width: auto !important;
	max-width: 150px !important;
	height: auto !important;
	max-height: 150px;

	margin: 0 auto;

	object-fit: contain;
}


/* ==========================================================
   FICHE INDIVIDUELLE
   ========================================================== */

.kadro-devis-detail {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;

	color: #222222;
}


/* Fil d’Ariane */

.kadro-breadcrumb {
	margin-bottom: 22px;

	color: var(--kadro-muted-text);
	font-size: 14px;
}

.kadro-breadcrumb a {
	color: var(--kadro-green);
	text-decoration: none;
}

.kadro-breadcrumb a:hover {
	text-decoration: underline;
}


/* En-tête de la fiche */

.kadro-devis-detail__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 25px;

	margin-bottom: 25px;
	padding: 25px 28px;

	background-color: var(--kadro-dark-green);
	border-radius: 12px;
}

.kadro-devis-detail__title {
	margin: 0 0 7px;

	color: #ffffff;
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 700;
	line-height: 1.2;
}

.kadro-devis-detail__meta {
	margin: 0;

	color: rgba(255, 255, 255, 0.82);
	font-size: 14px;
}

.kadro-devis-detail__actions {
	display: flex;
	flex-shrink: 0;
	gap: 10px;
}


/* ==========================================================
   BOUTONS DE LA FICHE
   ========================================================== */

.kadro-btn,
.kadro-print-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 44px;
	padding: 11px 18px;

	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;

	border: 1px solid transparent;
	border-radius: 6px;

	cursor: pointer;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.kadro-btn:hover,
.kadro-print-btn:hover {
	transform: translateY(-1px);
}


/* Bouton principal et bouton Imprimer */

.kadro-btn--primary,
.kadro-print-btn {
	color: #ffffff !important;
	background-color: var(--kadro-green);
	border-color: var(--kadro-green);
}

.kadro-btn--primary:hover,
.kadro-print-btn:hover {
	color: #ffffff !important;
	background-color: var(--kadro-orange);
	border-color: var(--kadro-orange);
}


/* Bouton Retour */

.kadro-btn--secondary {
	color: #333333 !important;
	background-color: #ffffff;
	border-color: #cfd6d1;
}

.kadro-btn--secondary:hover {
	color: var(--kadro-green) !important;
	background-color: var(--kadro-light-background);
	border-color: var(--kadro-green);
}


/* ==========================================================
   CONTENU DE LA FICHE
   ========================================================== */

.kadro-devis-detail__content {
	padding: 28px;

	background-color: #ffffff;
	border: 1px solid var(--kadro-border);
	border-radius: 12px;
	box-shadow: 0 5px 22px rgba(0, 0, 0, 0.05);
}

.kadro-devis-section {
	margin-bottom: 30px;
	padding-bottom: 25px;

	border-bottom: 1px solid #e5e9e6;
}

.kadro-devis-section:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.kadro-devis-section__title {
	margin: 0 0 18px;

	color: var(--kadro-dark-green);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}


/* ==========================================================
   TABLEAU AUTOMATIQUE DE LA FICHE
   ========================================================== */

.kadro-devis-detail .kadro-auto-entry table {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;

	border-spacing: 0;
	border-collapse: collapse !important;

	background-color: #ffffff;
	border: none;
	border-radius: 0;
	box-shadow: none;
}

.kadro-devis-detail .kadro-auto-entry table tr {
	border-bottom: 1px solid #e8ece9;
}

.kadro-devis-detail .kadro-auto-entry table tr:last-child {
	border-bottom: none;
}

.kadro-devis-detail .kadro-auto-entry table th,
.kadro-devis-detail .kadro-auto-entry table td {
	position: static !important;

	padding: 13px 15px !important;

	font-size: 14px;
	line-height: 1.55;
	text-align: left;
	vertical-align: top;

	border: none !important;
}

.kadro-devis-detail .kadro-auto-entry table th {
	width: 32% !important;
	min-width: 0 !important;

	color: #24382b !important;
	font-weight: 650;

	background-color: #f3f6f4 !important;
}

.kadro-devis-detail .kadro-auto-entry table td {
	color: #333333;
	background-color: #ffffff !important;
}

.kadro-auto-entry p {
	margin-top: 0;
	margin-bottom: 8px;
}


/* ==========================================================
   DOCUMENTS ET PIÈCES JOINTES
   ========================================================== */

.kadro-files {
	padding: 18px 20px;

	background-color: var(--kadro-light-background);
	border-left: 4px solid var(--kadro-green);
	border-radius: 4px 8px 8px 4px;
}

.kadro-files a {
	display: inline-block;
	margin: 4px 0;

	color: var(--kadro-green);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	word-break: break-word;
}

.kadro-files a:hover {
	color: var(--kadro-orange);
}


/* ==========================================================
   MESSAGE D’ACCÈS RESTREINT
   ========================================================== */

.kadro-access-message {
	padding: 20px 22px;

	color: #63300f;
	font-size: 15px;

	background-color: #fff5ec;
	border: 1px solid #efc9ac;
	border-radius: 7px;
}


/* ==========================================================
   VERSION TABLETTE
   ========================================================== */

@media screen and (max-width: 1024px) {

	.kadro-filter-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kadro-commercial-export {
		justify-content: flex-start;
	}

	.kadro-devis-detail__header {
		flex-direction: column;
	}

	.kadro-devis-detail__actions {
		width: 100%;
	}
}


/* ==========================================================
   VERSION MOBILE
   ========================================================== */

@media screen and (max-width: 700px) {

	.kadro-filter-form {
		grid-template-columns: 1fr;
		padding: 17px !important;
	}

	.kadro-filter-form input[type="submit"],
	.kadro-filter-form button,
	.kadro-filter-form a {
		justify-content: center;
		width: 100%;
	}

	.kadro-commercial-export {
		justify-content: stretch;
	}

	.kadro-commercial-export a {
		width: 100%;
	}

	.kadro-commercial-results table,
	.kadro-devis-table {
		min-width: 1450px;
	}

	.kadro-commercial-results table th,
	.kadro-commercial-results table td,
	.kadro-devis-table th,
	.kadro-devis-table td {
		padding: 13px !important;
	}

	.kadro-devis-detail__content,
	.kadro-devis-detail__header {
		padding: 18px;
	}

	.kadro-devis-detail__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.kadro-devis-detail__actions .kadro-btn,
	.kadro-devis-detail__actions .kadro-print-btn {
		width: 100%;
	}
}


/* ==========================================================
   IMPRESSION DE LA FICHE INDIVIDUELLE
   ========================================================== */

@media print {

	@page {
		margin: 15mm;
	}

	body {
		margin: 0 !important;
		padding: 0 !important;

		background-color: #ffffff !important;
	}

	body * {
		visibility: hidden !important;
	}

	.kadro-devis-detail,
	.kadro-devis-detail * {
		visibility: visible !important;
	}

	.kadro-devis-detail {
		position: absolute;
		top: 0;
		left: 0;

		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
	}

	.no-print,
	.kadro-filter-form,
	.kadro-breadcrumb,
	.kadro-devis-detail__actions,
	.site-header,
	.site-footer,
	#wpadminbar {
		display: none !important;
	}

	.kadro-devis-detail__header {
		margin-bottom: 15px;
		padding: 18px 20px;

		color: #000000 !important;
		background-color: #ffffff !important;
		border: 1px solid #333333;
		border-radius: 0;
	}

	.kadro-devis-detail__title,
	.kadro-devis-detail__meta {
		color: #000000 !important;
	}

	.kadro-devis-detail__content {
		padding: 0;

		border: none;
		border-radius: 0;
		box-shadow: none;
	}

	.kadro-devis-detail .kadro-auto-entry table th,
	.kadro-devis-detail .kadro-auto-entry table td {
		padding: 8px 10px !important;

		color: #000000 !important;
		background-color: #ffffff !important;
		border: 1px solid #cccccc !important;
	}

	.kadro-devis-section {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.kadro-files {
		color: #000000;
		background-color: #ffffff;
		border: 1px solid #cccccc;
	}
}
/* ==========================================================
   CORRECTION FICHE INDIVIDUELLE KADRO BOIS
   ========================================================== */


/* Masque la recherche lorsque la fiche détaillée est ouverte */

body:has(.kadro-fiche-demande) .kadro-search-box,
body:has(.kadro-fiche-demande) .kadro-commercial-export {
	display: none !important;
}


/* Conteneur */

.kadro-print-wrap,
.kadro-print-wrap * {
	box-sizing: border-box;
}

.kadro-print-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.kadro-fiche-demande {
	width: 100%;
	color: var(--kadro-text);
}


/* Fil d’Ariane */

.kadro-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;

	width: 100%;
	max-width: 1100px;
	margin: 0 auto 22px;

	color: #737973;
	font-size: 14px;
}

.kadro-breadcrumb a {
	color: var(--kadro-green);
	text-decoration: none;
}

.kadro-breadcrumb a:hover {
	color: var(--kadro-orange);
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* En-tête de la fiche */

.kadro-fiche-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 25px;

	margin-bottom: 24px;
	padding: 26px 28px;

	background-color: var(--kadro-dark-green);
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.kadro-fiche-heading {
	flex: 1;
}

.kadro-fiche-top h1 {
	margin: 0 0 8px;

	color: #ffffff;
	font-size: clamp(25px, 3vw, 34px);
	font-weight: 700;
	line-height: 1.2;
}

.kadro-fiche-top .kadro-meta {
	margin: 0;

	color: rgba(255, 255, 255, 0.82);
	font-size: 14px;
	line-height: 1.5;
}


/* Bouton d’impression */

.kadro-fiche-top .kadro-print-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;

	min-height: 46px;
	margin: 0;
	padding: 11px 18px;

	color: #ffffff !important;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;

	background-color: var(--kadro-orange);
	border: 1px solid var(--kadro-orange);
	border-radius: 6px;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.kadro-fiche-top .kadro-print-btn:hover {
	color: #ffffff !important;
	background-color: #ffffff;
	border-color: #ffffff;
	transform: translateY(-1px);
}

.kadro-fiche-top .kadro-print-btn:hover {
	color: var(--kadro-dark-green) !important;
}


/* Sections */

.kadro-section {
	margin-bottom: 22px;
	padding: 25px 27px;

	background-color: #ffffff;
	border: 1px solid var(--kadro-border);
	border-radius: 10px;
	box-shadow: 0 5px 18px rgba(0, 0, 0, 0.045);
}

.kadro-section:last-child {
	margin-bottom: 0;
}

.kadro-section h2 {
	margin: 0 0 18px;
	padding-bottom: 12px;

	color: var(--kadro-dark-green);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;

	border-bottom: 2px solid #e5ebe7;
}


/* Liste des informations */

.kadro-field-list {
	width: 100%;
}

.kadro-field-row {
	display: grid;
	grid-template-columns: minmax(180px, 30%) minmax(0, 1fr);
	gap: 20px;

	padding: 12px 0;

	border-bottom: 1px solid #e9edea;
}

.kadro-field-row:first-child {
	padding-top: 0;
}

.kadro-field-row:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.kadro-field-label {
	color: #263b2d;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
}

.kadro-field-value {
	min-width: 0;

	color: #373b38;
	font-size: 14px;
	line-height: 1.6;

	overflow-wrap: anywhere;
}

.kadro-multiline {
	white-space: pre-line;
}


/* Messages et informations libres */

.kadro-message {
	min-height: 70px;
	padding: 17px 18px;

	color: #373b38;
	font-size: 14px;
	line-height: 1.65;
	white-space: pre-line;

	background-color: var(--kadro-light-background);
	border-left: 4px solid var(--kadro-green);
	border-radius: 4px 7px 7px 4px;
}


/* Fichiers joints */

.kadro-file-list {
	padding: 16px 18px;

	background-color: var(--kadro-light-background);
	border-left: 4px solid var(--kadro-green);
	border-radius: 4px 7px 7px 4px;
}

.kadro-field-value.kadro-file-list {
	padding: 12px 14px;
}

.kadro-file-list a {
	display: inline-block;
	margin: 3px 0;

	color: var(--kadro-green);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;

	overflow-wrap: anywhere;
}

.kadro-file-list a:hover {
	color: var(--kadro-orange);
}


/* Notes commerciales imprimables */

.kadro-notes {
	min-height: 150px;
	padding-top: 5px;
}

.kadro-notes-line {
	height: 42px;
	border-bottom: 1px solid #bfc8c2;
}


/* ==========================================================
   TABLETTE
   ========================================================== */

@media screen and (max-width: 850px) {

	.kadro-fiche-top {
		flex-direction: column;
	}

	.kadro-fiche-top .kadro-print-btn {
		width: 100%;
	}

	.kadro-field-row {
		grid-template-columns: 1fr;
		gap: 5px;
	}
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media screen and (max-width: 600px) {

	.kadro-fiche-top,
	.kadro-section {
		padding: 19px;
	}

	.kadro-fiche-top h1 {
		font-size: 25px;
	}

	.kadro-section h2 {
		font-size: 20px;
	}
}