			html,body{height:100%;margin:0;font-family:Arial,sans-serif}
#menuprincipal{box-sizing:border-box;padding:8px;background:#e7e7e7;border-bottom:1px solid #aaa;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#menuprincipal button{font-weight:bold}
#menuprincipal button.actif{background:#dcecff;border:2px solid #005bbb}
.masque-mode{display:none!important}
#barre{box-sizing:border-box;padding:8px;background:#f2f2f2;border-bottom:1px solid #aaa;display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:52px}
#map{height:calc(100vh - 156px)!important}
button,.fichier{padding:7px 10px;border:1px solid #888;background:white;border-radius:4px;cursor:pointer}
button.actif{background:#dcecff}
.borne-segment{box-shadow:0 0 0 4px #00a000!important}
#info{margin-left:auto;font-size:14px}
input[type=file]{display:none}
.champ-lieu{position:relative;display:inline-block}
.liste-lieux{display:none;position:absolute;left:0;top:100%;z-index:3000;min-width:100%;max-height:240px;overflow-y:auto;background:#fff;border:
	1px solid #888;box-shadow:0 2px 6px #999;box-sizing:border-box}
.liste-lieux div{padding:5px 8px;cursor:pointer;white-space:nowrap}
.liste-lieux div:hover{background:#dcecff}
.point-edit{background:#fff;border:3px solid #005bbb;border-radius:50%;width:16px;height:16px;margin-left:-8px;margin-top:-8px;box-sizing:border-box}
.point-dessin{background:#ffeb00;border:3px solid #d00000;border-radius:50%;width:18px;height:18px;margin-left:-9px;margin-top:-9px;box-sizing:border-box}
.point-fictif{background:#fff;border:2px solid #d00000;border-radius:0;width:12px;height:12px;margin-left:-6px;margin-top:-6px;box-sizing:border-box}
.point-debut{background:#fff;border:3px solid #000;border-radius:50%;width:34px;height:34px;margin-left:-17px;margin-top:-17px;line-height:28px;
	text-align:center;font-weight:bold;font-size:23px;box-sizing:border-box}
.point-fin{border:3px solid #005bbb;border-radius:50%;background:#fff;color:#005bbb;font-size:23px;font-weight:bold;line-height:28px;
	text-align:center;width:34px;height:34px;margin-left:-17px;margin-top:-17px;box-sizing:border-box}
.point-debut.active,.point-fin.active{border-color:#d00000;background:#ffeb00;color:#d00000}

.distance-point{
	background:#fff;
	border:1px solid #333;
	border-radius:3px;
	padding:2px 4px;
	font-size:11px;
	font-weight:bold;
	white-space:nowrap;
}
		
.organisation-point-icon{
	background:transparent!important;
	border:0!important;
}
.organisation-picto{
	width:28px;height:28px;
	background:#fff;
	border:2px solid #222;
	border-radius:50%;
	box-shadow:0 1px 4px rgba(0,0,0,.55);
	display:flex;
	align-items:center;
	justify-content:center;
}
.organisation-picto svg{width:22px;height:22px;display:block}
#typespointorganisation{font-size:14px}


.print-sens-icon{background:transparent!important;border:0!important}
.print-sens-fleche{font-family:Arial,sans-serif;font-size:30px;font-weight:bold;line-height:30px;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff;transform-origin:50% 50%}
#print-entete,#print-header,#print-logo,#print-adresse-depart,#print-liste-parcours{display:none}
body.preparation-impression #zone-impression{
	width:277mm!important;
	max-width:277mm!important;
}
body.preparation-impression #map{
	width:277mm!important;
	max-width:277mm!important;
	height:145mm!important;
}
@media print{
 *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 @page{size:landscape;margin:10mm}
 html,body{margin:0!important;padding:0!important;background:#fff!important}
 body>*{visibility:hidden!important}
 #zone-impression,#zone-impression *{visibility:visible!important}
 #zone-impression{position:absolute!important;left:0!important;top:0!important;width:277mm!important;max-width:277mm!important;background:#fff!important}
 #print-entete{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;margin:0 0 2mm!important}
 #print-header{display:block!important;font-family:Arial,sans-serif;font-size:18px;font-weight:bold;margin:0!important}
 #print-logo{display:block!important;width:52mm!important;height:auto!important;max-height:16mm!important;object-fit:contain!important;object-position:right center!important}
 #print-adresse-depart{display:block!important;font-family:Arial,sans-serif;font-size:15px;margin:0 0 6mm}
 #print-liste-parcours{display:block!important;font-family:Arial,sans-serif;font-size:12px;margin-top:0}
 #print-liste-parcours:not(:empty){margin-top:5mm}
 #print-liste-parcours div{margin:2mm 0}
		#print-liste-parcours .trait{display:inline-block;width:18mm;height:3px;vertical-align:middle;margin-right:3mm}
		#map{position:relative!important;top:auto!important;left:auto!important;width:277mm!important;max-width:277mm!important;height:160mm!important;border:1px solid #555!important;box-sizing:border-box!important}
 .leaflet-control-container{display:none!important}
 /* Le fond IGN imprimÃ© est un seul canvas, placÃ© sous les tracÃ©s Leaflet. */
 #fond-ign-impression{display:block!important;visibility:visible!important}
 .leaflet-tile-pane{display:none!important}
 .leaflet-map-pane,.leaflet-pane{visibility:visible!important}
 .leaflet-container{background:transparent!important}
}


.aide-q{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin-left:2px;border:1px solid #555;border-radius:50%;background:#fff;color:#005bbb;font-weight:bold;font-size:15px;line-height:20px;cursor:pointer;vertical-align:middle}
.aide-q:hover{background:#dcecff}
#aidecontextuelle,#messageapresouverture{display:none;position:absolute;z-index:5000;top:70px;left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 40px));background:#fff;border:1px solid #555;padding:16px;box-shadow:0 3px 14px #555;font-size:14px;line-height:1.5;box-sizing:border-box}
#aidecontextuelle h3{margin:0 0 10px;font-size:17px}
#aidecontextuelle .fermer-aide,#messageapresouverture button{margin-top:12px;font-weight:bold}


/* V24 : aides bloquantes, pagination des communes et état réseau */
#voile-aidecontextuelle{position:fixed;inset:0;z-index:4999;background:rgba(0,0,0,.22)}
#aidecontextuelle{position:fixed;z-index:5000}
.suggestion-suite{font-weight:bold;color:#005bbb;border-top:1px solid #ddd;background:#f2f7ff}
#alerte-reseau{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);z-index:4900;background:#fff3ce;border:2px solid #b36b00;padding:12px;max-width:85vw;box-shadow:0 2px 8px #777;font-weight:bold}


/* Menus contextuels des commandes : meme comportement que les suggestions de lieu. */
.bloc-menu-actions{position:relative;display:inline-block;vertical-align:middle}
.menu-actions{
 position:absolute;top:calc(100% + 2px);left:0;z-index:3500;
 display:none;flex-direction:column;align-items:stretch;
 min-width:max-content;padding:3px 0;
 background:#fff;border:1px solid #888;
 box-shadow:0 2px 6px #999;box-sizing:border-box;
}
.menu-actions button{
 display:block;width:100%;border:0;border-radius:0;
 padding:6px 10px;background:#fff;text-align:left;
 white-space:nowrap;font-weight:normal;
}
.menu-actions button:hover,.menu-actions button:focus{background:#dcecff}

/* Correctifs de recette V26 */
#voile-aide{position:fixed;inset:0;z-index:4999;background:rgba(0,0,0,.28)}
#messageapresouverture{position:fixed;z-index:5000}
#verrou-hors-ligne{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center}
#verrou-hors-ligne>div{background:white;border:2px solid #555;padding:30px;max-width:450px;font:16px Arial}
#verrou-hors-ligne button{padding:9px 24px}
#print-attribution-ign{display:none}
@media print{#print-attribution-ign{display:block!important;position:absolute;bottom:6mm;right:7mm;font:9pt Arial;color:#333}}

/* V27 : logo visible dans tous les modes, sans duplication sur la feuille imprimee. */
#barre{position:relative;padding-right:165px}
#logo-editeur{position:absolute;right:9px;top:8px;width:145px;max-height:45px;object-fit:contain;object-position:right top}
@media print{#logo-editeur{display:none!important}}

/* V28 : la couleur du point selectionne suit celle du parcours ; point actif rouge/jaune conserve. */
.point-organisation-selection {background:transparent;border:none;width:16px;height:16px;}

/* V29 : accueil et dialogues propres a l'editeur */
#logo-accueil{width:145px;height:auto;max-height:45px;object-fit:contain;margin-left:auto}
@media print{#logo-accueil{display:none!important}}
.modal-editeur-v29{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:12000;display:flex;align-items:center;justify-content:center}
.modal-editeur-v29>div{background:#fff;padding:20px 25px;min-width:290px;max-width:500px;box-shadow:0 4px 18px #333;border-radius:8px;text-align:center}
.modal-editeur-v29 button{margin-top:10px}

/* V30 : logo toujours a l'extremite droite de l'en-tete. */
#menuprincipal{position:relative;padding-right:165px!important;justify-content:flex-start!important}
#logo-accueil{position:absolute!important;right:9px!important;top:6px!important;margin:0!important;width:145px!important;max-height:45px!important}
#barre{padding-right:165px!important}
#logo-editeur{position:absolute!important;right:9px!important;top:8px!important;margin:0!important;width:145px!important}
@media print{#print-liste-parcours:empty{display:none!important}#print-adresse-depart:empty{display:none!important}}

/* V31 : le fond IGN fige doit occuper exactement la carte imprimee. */
@media print {
 #fond-ign-impression {width:100%!important;height:100%!important;object-fit:fill!important}
 #print-entete {margin-bottom:2mm!important}
 #print-adresse-depart:empty {display:none!important}
 #print-liste-parcours:empty {display:none!important}
}

/* NR03 : fermeture du mode d'emploi accessible sans défiler. */
#modeemploi .entete-modeemploi{position:sticky;top:-15px;z-index:2;background:white;display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #ddd}
#fermeraidehaut{font-size:22px;line-height:22px;padding:2px 8px;font-weight:bold}

/* Patrimoine — ajout isole, sans modifier la disposition des commandes de trace. */
.icone-patrimoine{background:transparent!important;border:0!important}
.repere-patrimoine{position:relative;width:25px;height:25px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#fff;border:2px solid #243d2c;box-sizing:border-box;box-shadow:0 1px 4px #555}
.repere-patrimoine span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(45deg);font:bold 13px Arial;color:#173c28}
#dialogue-patrimoine{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:12000;align-items:center;justify-content:center}
.contenu-dialogue-patrimoine{background:white;border:1px solid #777;border-radius:6px;padding:20px;width:min(550px,90vw);display:flex;flex-direction:column;gap:12px}
#texte-patrimoine{width:100%;box-sizing:border-box;min-height:160px;font:15px/1.5 Arial;resize:vertical}
#dialogue-patrimoine .contenu-dialogue-patrimoine>div{text-align:right}
#print-patrimoine{display:none}
@media print{
 #print-patrimoine:not(:empty){display:block!important;visibility:visible!important;page-break-before:always;break-before:page;padding:10mm 6mm;font:12pt/1.45 Arial;white-space:pre-wrap}
 #print-patrimoine .texte-patrimoine{margin:0 0 7mm;break-inside:avoid}
}

.texte-patrimoine-carte{white-space:pre-wrap!important;max-width:360px}
#bouton-patrimoine:disabled{opacity:.45;cursor:not-allowed}
#bloc-patrimoine button:disabled{opacity:.45}

/* Essai 5 : commandes exclusives mais accessibles. */
#bouton-patrimoine.actif{background:#dcecff!important;border-color:#6599c7!important}
#menuprincipal #retour-accueil{position:absolute;bottom:12px;right:175px;background:#111;color:#fff;z-index:3}
/* Les sauts de ligne sont ceux du texte saisi, pas une colonne étroite. */
.leaflet-tooltip.texte-patrimoine-carte{white-space:pre-wrap!important;width:max-content!important;min-width:230px;max-width:min(500px,70vw)!important;overflow-wrap:break-word!important;word-break:normal!important;text-align:left!important;line-height:1.45!important;font:14px/1.45 Arial,sans-serif!important}
#bloc-patrimoine{margin-right:8px}

/* Essai 6 : attribution rattachee a la carte, pas aux pages de descriptions. */
@media print { #map #print-attribution-ign{display:block!important;position:absolute!important;bottom:3mm!important;right:4mm!important;z-index:1200!important;background:rgba(255,255,255,.8);padding:1px 3px;visibility:visible!important} }

/* Pendant une operation patrimoine, les marqueurs et lignes de trace ne capturent plus les clics. */
#map.edition-patrimoine-active .point-debut,#map.edition-patrimoine-active .point-fin,#map.edition-patrimoine-active .point-dessin,#map.edition-patrimoine-active .point-edit,#map.edition-patrimoine-active .point-fictif,#map.edition-patrimoine-active .leaflet-overlay-pane .leaflet-interactive{pointer-events:none!important}
