		.modal-body span {
			color: red;
			font-size: 0.9em;
			font-style: italic;
			text-align: right;
			margin-top: 2%;
			display: block;
		}
        

        body {
            min-height: 100vh;
            
        }

        .entry .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }

        .header {
            text-align: center;
            color: white;
			margin-bottom: 4%;
            
        }

        .header h1 {
            font-size: 3rem;
            margin-bottom: 10px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
        }
		.modal-header h2 {
			color: white;
			font-size: x-large;
			margin-bottom: 0;
			font-weight: 600;
		}
		.modal-header h3 {
			font-size:1.25em;
		}
        .header p {
            font-size: 1.2rem;
            opacity: 0.9;
            max-width: 600px;
            margin: 0 auto;
            line-height: 1.6;
        }

        .control-panel {
            background: white;
            border-radius: 15px;
            padding: 30px;
            margin-bottom: 30px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            color: #555;
        }

        .text-input {
            width: 100%;
            padding: 12px 20px!important;
            border: 2px solid #e0e0e0!important;
            border-radius: 8px!important;
            font-size: 16px!important;
            transition: border-color 0.3s ease!important;
        }

        .page-id-9942 .text-input:focus {
            outline: none;
            border-color: #667eea;
        }

        .page-id-9942 .select-group {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            margin-bottom: 20px;
        }

        .page-id-9942 .select-wrapper {
            position: relative;
        }

        .page-id-9942 .select {
            width: 100%;
            padding: 12px;
            border: 2px solid #e0e0e0;
            border-radius: 8px;
            background: white;
            font-size: 16px;
            cursor: pointer;
			    -webkit-appearance: auto;
        }

        .page-id-9942 .select:focus {
            outline: none;
            border-color: #667eea;
        }

        .page-id-9942 .checkbox-group {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 20px;
        }

        .page-id-9942 .checkbox {
            width: 20px;
            height: 20px;
            accent-color: #667eea;
        }

        .button-group {
            display: flex;
            flex-wrap: wrap;
            gap: 15px;
            justify-content: center;
        }

        .btn {
            padding: 12px 24px;
            border: none;
            border-radius: 8px!important;
            font-size: 16px!important;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease!important;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .page-id-9942 .btn-primary {
            background: linear-gradient(45deg, #667eea, #764ba2);
            color: white;
        }

        .page-id-9942 .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
        }

        .page-id-9942 .btn-secondary {
            background: #f8f9fa;
            color: #666;
            border: 2px solid #e0e0e0;
        }

        .btn-secondary:hover {
            background: #e9ecef;
            border-color: #ccc;
        }

        .btn-danger {
            background: #dc3545;
            color: white;
        }

        .btn-danger:hover {
            background: #c82333;
            transform: translateY(-2px);
        }

        .output-section {
            background: white;
            border-radius: 15px;
            padding: 20px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
            margin-bottom: 20px;
        }

        .output-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            padding-bottom: 15px;
            border-bottom: 2px solid #f0f0f0;
        }

        .output-title {
            font-size: 1.8rem;
            color: #333;
            margin: 0;
        }

        /* Styles pour la zone de sortie */
        #crossStitchOutput {
            min-height: 600px;
            border: 2px solid #ddd;
            position: relative;
            transition: all 0.3s ease;
			 transform: scale(0.65); 
    transform-origin: top left;
    /* Ajuster la hauteur et la largeur pour compenser le scale et éviter les barres de défilement */
    height: 600px; /* Taille fixe pour le viewport de la grille */
    width: calc(100% / 0.65); /* Élargir le contenu pour qu'il s'affiche plus loin avant le scale */
    overflow: hidden; /* Masquer le contenu élargi pour qu'il ne s'échappe pas */
            
        }

        /* Option 1: Page blanche simple */
        #crossStitchOutput.white-page {
            background: white;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            border: 1px solid #e0e0e0;
        }

        /* Superposition de grille avec pseudo-élément */
        #crossStitchOutput::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            pointer-events: none;
            z-index: 10;
            opacity: 0.7;
        }

        /* Option 2: Grille fine */
        #crossStitchOutput.grid-fine {
            background: white;
        }

        #crossStitchOutput.grid-fine::before {
            background-image: 
                linear-gradient(to right, #f0f0f0 1px, transparent 1px),
                linear-gradient(to bottom, #f0f0f0 1px, transparent 1px);
            background-size: 20px 20px;
        }

        /* Option 3: Grille moyenne */
        #crossStitchOutput.grid-medium {
            background: white;
        }

        #crossStitchOutput.grid-medium::before {
            background-image: 
                linear-gradient(to right, #e0e0e0 1px, transparent 1px),
                linear-gradient(to bottom, #e0e0e0 1px, transparent 1px);
            background-size: 30px 30px;
        }

        /* Option 4: Grille point de croix (plus épaisse) */
        #crossStitchOutput.grid-cross-stitch {
            background: white;
        }

        #crossStitchOutput.grid-cross-stitch::before {
            background-image: 
                linear-gradient(to right, #ccc 2px, transparent 2px),
                linear-gradient(to bottom, #ccc 2px, transparent 2px),
                linear-gradient(to right, #f0f0f0 1px, transparent 1px),
                linear-gradient(to bottom, #f0f0f0 1px, transparent 1px);
            background-size: 60px 60px, 60px 60px, 20px 20px, 20px 20px;
        }

        /* Option 5: Papier millimétré */
        #crossStitchOutput.grid-millimeter {
            background: white;
        }

        #crossStitchOutput.grid-millimeter::before {
            background-image: 
                linear-gradient(to right, #dbd8d8 1px, transparent 1px),
                linear-gradient(to bottom, #dbd8d8 1px, transparent 1px),
                linear-gradient(to right, #e3f2fd 1px, transparent 1px),
                linear-gradient(to bottom, #e3f2fd 1px, transparent 1px);
            background-size: 64px 64px, 80px 80px, 8px 8px, 8px 8px;
        }

        /* Option 6: Grille avec bordures */
        #crossStitchOutput.grid-bordered {
            background: white;
            border: 3px solid #333;
            box-shadow: inset 0 0 0 1px #ccc;
        }

        #crossStitchOutput.grid-bordered::before {
            background-image: 
                linear-gradient(to right, #ddd 1px, transparent 1px),
                linear-gradient(to bottom, #ddd 1px, transparent 1px);
            background-size: 25px 25px;
            top: 3px;
            left: 3px;
            right: 3px;
            bottom: 3px;
        }

        .text-entry {
            position: relative;            
            padding: 0px; /* check on others browsers & screen size */
            background: transparent;
			margin-bottom: 0; /* 4px en dev */
        }

        /* Sélecteur de style pour la zone de sortie */
        .grid-selector {
            display: flex;
            gap: 10px;
            margin-bottom: 15px;
            flex-wrap: wrap;
            justify-content: center;
        }

        .grid-option {
            padding: 8px 16px;
            border: 2px solid #e0e0e0;
            border-radius: 20px;
            background: white;
            cursor: pointer;
            font-size: 14px;
            transition: all 0.3s ease;
            user-select: none;
        }

        .grid-option:hover {
            border-color: #667eea;
            background: #f8f9ff;
        }

        .grid-option.active {
            background: #667eea;
            color: white;
            border-color: #667eea;
        }

        .text-entry-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 10px;
            background: rgba(255, 255, 255, 0.9);
            padding: 10px;
            border-radius: 5px;
            backdrop-filter: blur(3px);            
        }

        .text-entry-info {
            font-size: 14px;
            color: #666;
        }

        .delete-entry {
            background: #dc3545;
            color: white;
            border: none;
            border-radius: 5px;
            padding: 5px 10px;
            cursor: pointer;
            font-size: 12px;
        }

        .cross-stitch-display {
            letter-spacing: 0;
        }

        /* Styles pour fontInfos */
        #fontInfos {
            margin-top: 20px;
            padding: 15px;
            background: #f8f9fa;            
        }

        #fontInfos .text-entry-info {
            font-size: 14px;
            color: #666;
            padding: 5px 0;
            border-bottom: 1px solid #e0e0e0;
        }

        #fontInfos .text-entry-info:last-child {
            border-bottom: none;
        }

        /* Styles pour les polices de caractères: majuscules */
        .font-maj1 {
            display: inline-block;
            width: 64px;
            height: 88px;
            background: url("../../../images/maj1.png") 0 0 no-repeat;
		}	
		
		.font-majuscule {
            display: inline-block;
            width: 56px;
            height: 72px;
            background: url("../../../images/maj2.png") 0 0 no-repeat;
        }
        
	
	/* Styles pour la police minuscules  */
	.font-lettres3 {
            display: inline-block;
            width: 48px;
            height: 120px;
            background: url("../../../images/smallfont.png") 0 0 no-repeat;
        }
        .font-lettres2 {
            display: inline-block;
            width: 56px;
            height: 120px;
            background: url("../../../images/lettres2.png") 0 0 no-repeat;
        }
/* Styles pour les polices de caractères */
        .font-cursive {
            display: inline-block;
            width: 48px;
            height: 160px;
            background: url("../../../images/cursive.png") 0 0 no-repeat;
        }

        /* Styles pour la police decorative vintage */
        .font-deco1 {
            display: inline-block;
            width: 128px;
            height: 160px;
            background: url("../../../images/fancylarge.png") 0 0 no-repeat;
        }
		.font-deco2 {
            display: inline-block;
            width: 56px;
            height: 112px;
            background: url("../../../images/doomed.png") 0 0 no-repeat;
        }
		
		 /* Positions des lettres pour la police decorative 1 */
		.font-deco2.letter-a { background-position: -8px 0; }
        .font-deco2.letter-b { background-position: -64px 0;}
        .font-deco2.letter-c { background-position: -120px 0; }
        .font-deco2.letter-d { background-position: -176px 0; }
        .font-deco2.letter-e { background-position: -232px 0; }
        .font-deco2.letter-f { background-position: -288px 0; }
        .font-deco2.letter-g { background-position: -344px 0; }
        .font-deco2.letter-h { background-position: -400px 0; }
        .font-deco2.letter-i { background-position: -456px 0; width: 24px; }
        .font-deco2.letter-j { background-position: -480px 0;width: 64px; }
        .font-deco2.letter-k { background-position: -544px 0; }
        .font-deco2.letter-l { background-position: -600px 0; }
        .font-deco2.letter-m { background-position: -656px 0; width: 64px; }
        .font-deco2.letter-n { background-position: -720px 0;  }
        .font-deco2.letter-o { background-position: -776px 0;width: 64px; }
        .font-deco2.letter-p { background-position: -840px 0; }
        .font-deco2.letter-q { background-position: -896px 0; width: 64px;}
        .font-deco2.letter-r { background-position: -960px 0; }
        .font-deco2.letter-s { background-position: -1016px 0; }
        .font-deco2.letter-t { background-position: -1072px 0; }
        .font-deco2.letter-u { background-position: -1128px 0; }
        .font-deco2.letter-v { background-position: -1184px 0;}
        .font-deco2.letter-w { background-position: -1240px 0; width: 64px; }
        .font-deco2.letter-x { background-position: -1304px 0;}
        .font-deco2.letter-y { background-position: -1360px 0; }
        .font-deco2.letter-z { background-position: -1416px 0; }
		 /* Positions des lettres pour la police decorative 1 */
		.font-deco1.letter-a { background-position: 0 0; }
        .font-deco1.letter-b { background-position: -136px 0;width: 120px; }
        .font-deco1.letter-c { background-position: -256px 0; width: 112px;}
        .font-deco1.letter-d { background-position: -368px 0; width: 120px;}
        .font-deco1.letter-e { background-position: -488px 0;width: 112px; }
        .font-deco1.letter-f { background-position: -600px 0; width: 120px;}
        .font-deco1.letter-g { background-position: -3008px 0; width: 128px;}
        .font-deco1.letter-h { background-position: -3136px 0; width:120px;}
        .font-deco1.letter-i { background-position: -832px 0; width: 56px; }
        .font-deco1.letter-j { background-position: -720px 0;width: 112px; }
        .font-deco1.letter-k { background-position: -888px 0;width: 136px; }
        .font-deco1.letter-l { background-position: -1024px 0;width: 128px; }
        .font-deco1.letter-m { background-position: -1152px 0; width: 160px; }
        .font-deco1.letter-n { background-position: -1312px 0; width: 128px; }
        .font-deco1.letter-o { background-position: -1440px 0;width: 128px; }
        .font-deco1.letter-p { background-position: -1568px 0; width: 120px;}
        .font-deco1.letter-q { background-position: -1688px 0; width: 136px;}
        .font-deco1.letter-r { background-position: -1824px 0; }
        .font-deco1.letter-s { background-position: -1952px 0; width: 104px;}
        .font-deco1.letter-t { background-position: -2056px 0; width: 120px;}
        .font-deco1.letter-u { background-position: -2176px 0; }
        .font-deco1.letter-v { background-position: -2304px 0; width: 144px;}
        .font-deco1.letter-w { background-position: -2448px 0; width: 176px; }
        .font-deco1.letter-x { background-position: -2624px 0; width: 136px;}
        .font-deco1.letter-y { background-position: -2760px 0; }
        .font-deco1.letter-z { background-position: -2888px 0; width: 120px;}
        /* Positions des lettres pour la police majuscules */
        .font-maj1.letter-a { background-position: 0 0; }
        .font-maj1.letter-b { background-position: -64px 0; }
        .font-maj1.letter-c { background-position: -128px 0; }
        .font-maj1.letter-d { background-position: -200px 0; }
        .font-maj1.letter-e { background-position: -264px 0; }
        .font-maj1.letter-f { background-position: -328px 0; }
        .font-maj1.letter-g { background-position: -392px 0; }
        .font-maj1.letter-h { background-position: -456px 0; }
        .font-maj1.letter-i { background-position: -520px 0; width: 48px; }
        .font-maj1.letter-j { background-position: -576px 0; }
        .font-maj1.letter-k { background-position: -640px 0; }
        .font-maj1.letter-l { background-position: -696px 0; }
        .font-maj1.letter-m { background-position: -760px 0; width: 72px; }
        .font-maj1.letter-n { background-position: -832px 0; width: 72px; }
        .font-maj1.letter-o { background-position: -904px 0; }
        .font-maj1.letter-p { background-position: -968px 0; }
        .font-maj1.letter-q { background-position: -1032px 0; }
        .font-maj1.letter-r { background-position: -1096px 0; }
        .font-maj1.letter-s { background-position: -1160px 0; }
        .font-maj1.letter-t { background-position: -1224px 0; }
        .font-maj1.letter-u { background-position: -1288px 0; }
        .font-maj1.letter-v { background-position: -1352px 0; }
        .font-maj1.letter-w { background-position: -1416px 0; width: 88px; }
        .font-maj1.letter-x { background-position: -1504px 0; }
        .font-maj1.letter-y { background-position: -1568px 0; }
        .font-maj1.letter-z { background-position: -1632px 0; }
/* Positions des lettres pour la police standard 3 - classique 1*/
        .font-lettres3.letter-a { background-position: -432px 0; }
        .font-lettres3.letter-b { background-position: -112px 0;width: 48px; }
        .font-lettres3.letter-c { background-position: -672px 0;width: 40px; }
        .font-lettres3.letter-d { background-position: -64px 0; }
        .font-lettres3.letter-e { background-position: -536px 0;width: 40px; }
        .font-lettres3.letter-f { background-position: -576px 0;width: 40px; }
        .font-lettres3.letter-g { background-position: -16px 0; }
        .font-lettres3.letter-h { background-position: -376px 0; width: 56px;}
        .font-lettres3.letter-i { background-position: -920px 0; width: 32px; }
        .font-lettres3.letter-j { background-position: -1088px 0; width: 32px;}
        .font-lettres3.letter-k { background-position: -712px 0;width: 56px; }
        .font-lettres3.letter-l { background-position: -1056px 0; width:32px;}
        .font-lettres3.letter-m { background-position: -256px 0; width: 80px; }
        .font-lettres3.letter-n { background-position: -200px 0; width: 56px; }
        .font-lettres3.letter-o { background-position: -160px 0; width: 40px;}
        .font-lettres3.letter-p { background-position: -824px 0; width: 48px;}
        .font-lettres3.letter-q { background-position: -952px 0; width: 48px;}
        .font-lettres3.letter-r { background-position: -872px 0;width: 48px; }
        .font-lettres3.letter-s { background-position: -1248px 0;width: 40px; }
        .font-lettres3.letter-t { background-position: -336px 0; width: 40px;}
        .font-lettres3.letter-u { background-position: -616px 0;width: 56px; }
        .font-lettres3.letter-v { background-position: -480px 0;width: 56px; }
        .font-lettres3.letter-w { background-position: -1120px 0; width: 80px; }
        .font-lettres3.letter-x { background-position: -768px 0;width: 56px; }
        .font-lettres3.letter-y { background-position: -1000px 0;width: 56px; }
        .font-lettres3.letter-z { background-position: -1200px 0;width: 48px; }

/* Positions des lettres pour la police standard 2*/
        .font-lettres2.letter-a { background-position: 0 0; }
        .font-lettres2.letter-b { background-position: -56px 0; }
        .font-lettres2.letter-c { background-position: -112px 0; width: 48px;}
        .font-lettres2.letter-d { background-position: -160px 0; }
        .font-lettres2.letter-e { background-position: -216px 0; width: 48px;}
        .font-lettres2.letter-f { background-position: -264px 0; width: 48px;}
        .font-lettres2.letter-g { background-position: -312px 0; height: 120px}
        .font-lettres2.letter-h { background-position: -368px 0; width: 64px;}
        .font-lettres2.letter-i { background-position: -432px 0; width: 40px; }
        .font-lettres2.letter-j { background-position: -472px 0; width: 48px;height: 120px}
        .font-lettres2.letter-k { background-position: -520px 0; width: 64px;}
        .font-lettres2.letter-l { background-position: -584px 0; width: 40px;}
        .font-lettres2.letter-m { background-position: -624px 0; width: 88px; }
        .font-lettres2.letter-n { background-position: -712px 0; width: 64px; }
        .font-lettres2.letter-o { background-position: -776px 0; width: 48px;}
        .font-lettres2.letter-p { background-position: -824px 0; }
        .font-lettres2.letter-q { background-position: -880px 0; }
        .font-lettres2.letter-r { background-position: -936px 0; }
        .font-lettres2.letter-s { background-position: -992px 0; width: 48px;}
        .font-lettres2.letter-t { background-position: -1040px 0; }
        .font-lettres2.letter-u { background-position: -1096px 0; width: 64px;}
        .font-lettres2.letter-v { background-position: -1160px 0; }
        .font-lettres2.letter-w { background-position: -1216px 0; width: 88px; }
        .font-lettres2.letter-x { background-position: -1304px 0; width: 72px;}
        .font-lettres2.letter-y { background-position: -1376px 0; width: 72px;}
        .font-lettres2.letter-z { background-position: -1448px 0; width: 72px;}
		
		/* Positions des lettres pour la police cursive 1*/
        .font-cursive.letter-a { background-position: -432px 0; }
        .font-cursive.letter-b { background-position: -328px 0; }
        .font-cursive.letter-c { background-position: -488px 0; }
        .font-cursive.letter-d { background-position: -1080px 0; width: 64px;}
        .font-cursive.letter-e { background-position: -1624px 0; width: 56px;}
        .font-cursive.letter-f { background-position: -1576px 0; width: 48px;}
        .font-cursive.letter-g { background-position: -1744px 0; width: 56px}
        .font-cursive.letter-h { background-position: -96px 0; width: 64px;}
        .font-cursive.letter-i { background-position: -160px 0; width: 32px; }
        .font-cursive.letter-j { background-position: -1680px 0; }
        .font-cursive.letter-k { background-position: -536px 0; }
        .font-cursive.letter-l { background-position: -384px 0; width: 48px;}
        .font-cursive.letter-m { background-position: -1304px 0; width: 96px; }
        .font-cursive.letter-n { background-position: -1016px 0; width: 64px; }
        .font-cursive.letter-o { background-position: -1144px 0;}
        .font-cursive.letter-p { background-position: -8px 0;width: 88px; }
        .font-cursive.letter-q { background-position: -704px 0; width: 56px;}
        .font-cursive.letter-r { background-position: -816px 0; width:64px;}
        .font-cursive.letter-s { background-position: -880px 0; width: 80px;}
        .font-cursive.letter-t { background-position: -648px 0; }
        .font-cursive.letter-u { background-position: -760px 0; width: 56px;}
        .font-cursive.letter-v { background-position: -1472px 0; }
        .font-cursive.letter-w { background-position: -1192px 0; width: 88px;}
        .font-cursive.letter-x { background-position: -256px 0; width: 64px;}
        .font-cursive.letter-y { background-position: -1392px 0; width: 72px;}
        .font-cursive.letter-z { background-position: -600px 0; width: 40px;}
        /* Caractères spéciaux */
        .special-char {
            display: inline-block;
            width: 32px;
            height: 32px;
            background: url("./images/special-chars.png") 0 0 no-repeat;
        }

        .special-star1 { background-position: 0 0; }
        .special-star2 { background-position: -32px 0; }
        .special-heart { background-position: -64px 0; }
        .special-diamond { background-position: -96px 0; }

        /* Modal */
        .modal {
            display: none;
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
        }

        .modal-content {
            background-color: white;
            margin: 5% auto;
            padding: 0;
            border-radius: 15px;
            width: 90%;
            max-width: 600px;
            max-height: 80vh;
            overflow-y: auto;
        }

        .modal-header {
            background: linear-gradient(45deg, #667eea, #764ba2);
            color: white;
            padding: 20px;
            border-radius: 15px 15px 0 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .modal-body {
            padding: 30px;
        }

        .close {
            color: white;
            font-size: 28px;
            font-weight: bold;
            cursor: pointer;
            border: none;
            background: none;
        }

        .close:hover {
            opacity: 0.7;
        }

        .font-category {
            margin-bottom: 25px;
        }

        .font-category h3 {
            color: #333;
            margin-bottom: 15px;
            padding-bottom: 10px;
            border-bottom: 1px solid #eee;
        }

        .font-options {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
        }

        .font-option {
            padding: 15px;
            border: 2px solid #e0e0e0;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .font-option:hover {
            border-color: #667eea;
            background: #f8f9ff;
        }

        .font-option.selected {
            border-color: #667eea;
            background: #667eea;
            color: white;
        }

        /* Styles d'impression */
       @media print {
            /* Force l'affichage des images de fond à l'impression */
            * {
                -webkit-print-color-adjust: exact !important;
                color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            
            body {
                background: white !important;
                color: black !important;
            }
            
            .container {
                max-width: none;
                padding: 0;
            }
            
            .header, .control-panel, .button-group, .output-header .btn, .grid-selector {
                display: none !important;
            }
            
            .output-section {
                box-shadow: none;
                border: none;
                page-break-inside: avoid;
            }
            
            .output-title {
                color: black !important;
                font-size: 24pt;
                margin-bottom: 20px;
            }
            
            #crossStitchOutput {
                /* Application de la transformation (MÊME VALEUR que l'écran pour la cohérence) */
        transform: scale(0.65) !important; 
        transform-origin: top left !important;
        
        /* Annuler les règles spécifiques à l'écran */
        width: auto !important; /* Laissez la largeur s'adapter à la page */
        height: auto !important; /* Laissez la hauteur s'étendre sur plusieurs pages si nécessaire */
        overflow: visible !important; /* Permettre le débordement sur la page suivante */
        
        /* Vous pourriez avoir besoin de rétablir une bordure simple pour le document */
        border: 1px solid #333 !important; 
            }
            
            /* Force l'affichage des grilles à l'impression */
            #crossStitchOutput::before {
                -webkit-print-color-adjust: exact !important;
                color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
            
            /* CORRECTION PRINCIPALE - Force l'affichage des images sprites */
            .font-maj1,
			.font-lettres2,
			.font-cursive,
			.font-majuscule,
			.special-char,.font-deco1,.font-deco2 {
                -webkit-print-color-adjust: exact !important;
                color-adjust: exact !important;
                print-color-adjust: exact !important;
            }
			.font-deco2 {
                background: url("../../../images/doomed.png") no-repeat !important;
                background-size: auto !important;
			}
			 /* Positions des lettres pour la police decorative 2 */
		.font-deco2.letter-a { background-position: -8px 0; }
        .font-deco2.letter-b { background-position: -64px 0;}
        .font-deco2.letter-c { background-position: -120px 0; }
        .font-deco2.letter-d { background-position: -176px 0; }
        .font-deco2.letter-e { background-position: -232px 0; }
        .font-deco2.letter-f { background-position: -288px 0; }
        .font-deco2.letter-g { background-position: -344px 0; }
        .font-deco2.letter-h { background-position: -400px 0; }
        .font-deco2.letter-i { background-position: -456px 0; width: 24px; }
        .font-deco2.letter-j { background-position: -480px 0;width: 64px; }
        .font-deco2.letter-k { background-position: -544px 0; }
        .font-deco2.letter-l { background-position: -600px 0; }
        .font-deco2.letter-m { background-position: -656px 0; width: 64px; }
        .font-deco2.letter-n { background-position: -720px 0;  }
        .font-deco2.letter-o { background-position: -776px 0;width: 64px; }
        .font-deco2.letter-p { background-position: -840px 0; }
        .font-deco2.letter-q { background-position: -896px 0; width: 64px;}
        .font-deco2.letter-r { background-position: -960px 0; }
        .font-deco2.letter-s { background-position: -1016px 0; }
        .font-deco2.letter-t { background-position: -1072px 0; }
        .font-deco2.letter-u { background-position: -1128px 0; }
        .font-deco2.letter-v { background-position: -1184px 0;}
        .font-deco2.letter-w { background-position: -1240px 0; width: 64px; }
        .font-deco2.letter-x { background-position: -1304px 0;}
        .font-deco2.letter-y { background-position: -1360px 0; }
        .font-deco2.letter-z { background-position: -1416px 0; }
			.font-deco1 {
                background: url("../../../images/fancylarge.png") no-repeat !important;
                background-size: auto !important;
			}
            /* Positions des lettres pour la police decorative vintage */
		.font-deco1.letter-a { background-position: 0 0; }
        .font-deco1.letter-b { background-position: -136px 0;width: 120px; }
        .font-deco1.letter-c { background-position: -256px 0; width: 112px;}
        .font-deco1.letter-d { background-position: -368px 0; width: 120px;}
        .font-deco1.letter-e { background-position: -488px 0;width: 112px; }
        .font-deco1.letter-f { background-position: -600px 0; width: 120px;}
        .font-deco1.letter-g { background-position: -3008px 0; width: 128px;}
        .font-deco1.letter-h { background-position: -3136px 0; width:120px;}
        .font-deco1.letter-i { background-position: -832px 0; width: 56px; }
        .font-deco1.letter-j { background-position: -720px 0;width: 112px; }
        .font-deco1.letter-k { background-position: -888px 0;width: 136px; }
        .font-deco1.letter-l { background-position: -1024px 0;width: 128px; }
        .font-deco1.letter-m { background-position: -1152px 0; width: 160px; }
        .font-deco1.letter-n { background-position: -1312px 0; width: 128px; }
        .font-deco1.letter-o { background-position: -1440px 0;width: 128px; }
        .font-deco1.letter-p { background-position: -1568px 0; width: 120px;}
        .font-deco1.letter-q { background-position: -1688px 0; width: 136px;}
        .font-deco1.letter-r { background-position: -1824px 0; }
        .font-deco1.letter-s { background-position: -1952px 0; width: 104px;}
        .font-deco1.letter-t { background-position: -2056px 0; width: 120px;}
        .font-deco1.letter-u { background-position: -2176px 0; }
        .font-deco1.letter-v { background-position: -2304px 0; width: 144px;}
        .font-deco1.letter-w { background-position: -2448px 0; width: 176px; }
        .font-deco1.letter-x { background-position: -2624px 0; width: 136px;}
        .font-deco1.letter-y { background-position: -2760px 0; }
        .font-deco1.letter-z { background-position: -2888px 0; width: 120px;}
            /* S'assurer que les images de fond sont visibles */
            /* S'assurer que les images de fond sont visibles */
            .font-maj1 {
                background: url("../../../images/maj1.png") no-repeat !important;
                background-size: auto !important;
            }
            .font-maj1.letter-a { background-position: 0 0 !important; }
            .font-maj1.letter-b { background-position: -64px 0 !important; }
            .font-maj1.letter-c { background-position: -128px 0 !important; }
            .font-maj1.letter-d { background-position: -200px 0 !important; }
            .font-maj1.letter-e { background-position: -264px 0 !important; }
            .font-maj1.letter-f { background-position: -328px 0 !important; }
            .font-maj1.letter-g { background-position: -392px 0 !important; }
            .font-maj1.letter-h { background-position: -456px 0 !important; }
            .font-maj1.letter-i { background-position: -520px 0 !important; }
            .font-maj1.letter-j { background-position: -576px 0 !important; }
            .font-maj1.letter-k { background-position: -640px 0 !important; }
            .font-maj1.letter-l { background-position: -696px 0 !important; }
            .font-maj1.letter-m { background-position: -760px 0 !important; }
            .font-maj1.letter-n { background-position: -832px 0 !important; }
            .font-maj1.letter-o { background-position: -904px 0 !important; }
            .font-maj1.letter-p { background-position: -968px 0 !important; }
            .font-maj1.letter-q { background-position: -1032px 0 !important; }
            .font-maj1.letter-r { background-position: -1096px 0 !important; }
            .font-maj1.letter-s { background-position: -1160px 0 !important; }
            .font-maj1.letter-t { background-position: -1224px 0 !important; }
            .font-maj1.letter-u { background-position: -1288px 0 !important; }
            .font-maj1.letter-v { background-position: -1352px 0 !important; }
            .font-maj1.letter-w { background-position: -1416px 0 !important; }
            .font-maj1.letter-x { background-position: -1504px 0 !important; }
            .font-maj1.letter-y { background-position: -1568px 0 !important; }
            .font-maj1.letter-z { background-position: -1632px 0 !important; }
			
            .font-lettres2 {
                background: url("../../../images/lettres2.png") no-repeat !important;
                background-size: auto !important;
            }
            .font-lettres2.letter-a { background-position: 0 0 !important; }
            .font-lettres2.letter-b { background-position: -56px 0 !important; }
            .font-lettres2.letter-c { background-position: -112px 0 !important; }
            .font-lettres2.letter-d { background-position: -160px 0 !important; }
            .font-lettres2.letter-e { background-position: -216px 0 !important; }
            .font-lettres2.letter-f { background-position: -264px 0 !important; }
            .font-lettres2.letter-g { background-position: -312px 0 !important; }
            .font-lettres2.letter-h { background-position: -368px 0 !important; }
            .font-lettres2.letter-i { background-position: -432px 0 !important; }
            .font-lettres2.letter-j { background-position: -472px 0 !important; }
            .font-lettres2.letter-k { background-position: -520px 0 !important; }
            .font-lettres2.letter-l { background-position: -584px 0 !important; }
            .font-lettres2.letter-m { background-position: -624px 0 !important; }
            .font-lettres2.letter-n { background-position: -712px 0 !important; }
            .font-lettres2.letter-o { background-position: -776px 0 !important; }
            .font-lettres2.letter-p { background-position: -824px 0 !important; }
            .font-lettres2.letter-q { background-position: -880px 0 !important; }
            .font-lettres2.letter-r { background-position: -936px 0 !important; }
            .font-lettres2.letter-s { background-position: -992px 0 !important; }
            .font-lettres2.letter-t { background-position: -1040px 0 !important; }
            .font-lettres2.letter-u { background-position: -1096px 0 !important; }
            .font-lettres2.letter-v { background-position: -1160px 0 !important; }
            .font-lettres2.letter-w { background-position: -1216px 0 !important; }
            .font-lettres2.letter-x { background-position: -1304px 0 !important; }
            .font-lettres2.letter-y { background-position: -1376px 0 !important; }
            .font-lettres2.letter-z { background-position: -1448px 0 !important; }
			
			.font-lettres3 {
                background: url("../../../images/lettres3.png") no-repeat !important;
                background-size: auto !important;
            }
			
			 .font-lettres3.letter-a { background-position: -432px 0; }
        .font-lettres3.letter-b { background-position: -112px 0;width: 48px; }
        .font-lettres3.letter-c { background-position: -672px 0;width: 40px; }
        .font-lettres3.letter-d { background-position: -64px 0; }
        .font-lettres3.letter-e { background-position: -536px 0;width: 40px; }
        .font-lettres3.letter-f { background-position: -576px 0;width: 40px; }
        .font-lettres3.letter-g { background-position: -16px 0; }
        .font-lettres3.letter-h { background-position: -376px 0; width: 56px;}
        .font-lettres3.letter-i { background-position: -920px 0; width: 32px; }
        .font-lettres3.letter-j { background-position: -1088px 0; width: 32px;}
        .font-lettres3.letter-k { background-position: -712px 0;width: 56px; }
        .font-lettres3.letter-l { background-position: -1056px 0; width:32px;}
        .font-lettres3.letter-m { background-position: -256px 0; width: 80px; }
        .font-lettres3.letter-n { background-position: -200px 0; width: 56px; }
        .font-lettres3.letter-o { background-position: -160px 0; width: 40px;}
        .font-lettres3.letter-p { background-position: -824px 0; width: 48px;}
        .font-lettres3.letter-q { background-position: -952px 0; width: 48px;}
        .font-lettres3.letter-r { background-position: -872px 0;width: 48px; }
        .font-lettres3.letter-s { background-position: -1248px 0;width: 40px; }
        .font-lettres3.letter-t { background-position: -336px 0; width: 40px;}
        .font-lettres3.letter-u { background-position: -616px 0;width: 56px; }
        .font-lettres3.letter-v { background-position: -480px 0;width: 56px; }
        .font-lettres3.letter-w { background-position: -1120px 0; width: 80px; }
        .font-lettres3.letter-x { background-position: -768px 0;width: 56px; }
        .font-lettres3.letter-y { background-position: -1000px 0;width: 56px; }
        .font-lettres3.letter-z { background-position: -1200px 0;width: 48px; }
		
        .font-cursive {
                background: url("../../../images/cursive.png") no-repeat !important;
                background-size: auto !important;
            }
         /* Positions des lettres pour la police cursive 1*/
        .font-cursive.letter-a { background-position: -432px 0; }
        .font-cursive.letter-b { background-position: -328px 0; }
        .font-cursive.letter-c { background-position: -488px 0; }
        .font-cursive.letter-d { background-position: -1080px 0; width: 64px;}
        .font-cursive.letter-e { background-position: -1624px 0; width: 56px;}
        .font-cursive.letter-f { background-position: -1576px 0; width: 48px;}
        .font-cursive.letter-g { background-position: -1744px 0; width: 56px}
        .font-cursive.letter-h { background-position: -96px 0; width: 64px;}
        .font-cursive.letter-i { background-position: -160px 0; width: 32px; }
        .font-cursive.letter-j { background-position: -1680px 0; }
        .font-cursive.letter-k { background-position: -536px 0; }
        .font-cursive.letter-l { background-position: -384px 0; width: 48px;}
        .font-cursive.letter-m { background-position: -1304px 0; width: 96px; }
        .font-cursive.letter-n { background-position: -1016px 0; width: 64px; }
        .font-cursive.letter-o { background-position: -1144px 0;}
        .font-cursive.letter-p { background-position: -8px 0;width: 88px; }
        .font-cursive.letter-q { background-position: -704px 0; width: 56px;}
        .font-cursive.letter-r { background-position: -816px 0; width:64px;}
        .font-cursive.letter-s { background-position: -880px 0; width: 80px;}
        .font-cursive.letter-t { background-position: -648px 0; }
        .font-cursive.letter-u { background-position: -760px 0; width: 56px;}
        .font-cursive.letter-v { background-position: -1472px 0; }
        .font-cursive.letter-w { background-position: -1192px 0; width: 88px;}
        .font-cursive.letter-x { background-position: -256px 0; width: 64px;}
        .font-cursive.letter-y { background-position: -1392px 0; width: 72px;}
        .font-cursive.letter-z { background-position: -600px 0; width: 40px;}
		
        .font-majuscule {
                background: url("../../../images/majuscule.png") no-repeat !important;
                background-size: auto !important;
            }
            
            .special-char {
                background: url("./inc/special-chars.png") no-repeat !important;
                background-size: auto !important;
            }
            
            .text-entry {
                background: transparent !important;
                border: none;
                margin-bottom: 16px;
                page-break-inside: avoid;
            }
            
            .text-entry-header {
                background: white !important;
                border: 1px solid #333 !important;
                border-left: 3px solid #333 !important;
            }
            
            .text-entry-info {
                color: black !important;
                font-size: 12pt;
            }
            
            .delete-entry {
                display: none!important;
            }

            #fontInfos {
                background: white !important;
                border: 1px solid #333 !important;
                border-left: 3px solid #333 !important;
            }
			
			 /* patch : align on pdf */
			
    .cross-stitch-display {
        /* Force le zéro espacement pour éviter les 'gaps' entre inline-blocks */
        letter-spacing: 0 !important;
        word-spacing: 0 !important;
        font-size: 0 !important; /* Pour désactiver l'espacement dû aux espaces blancs */
        line-height: 1.2; /* Un léger ajustement de line-height si nécessaire pour l'image */
        white-space: nowrap; /* Tente de garder la ligne entière ensemble */
        display: block !important;
    }

    /* Ajustement des conteneurs de lettres */
    .font-lettres1,
    .font-lettres2,
    .font-cursive,
    .font-majuscule,
    .special-char {
        /* Force l'affichage des images de fond et la taille exacte */
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
        print-color-adjust: exact !important;
        
        /* Assure que chaque caractère est un bloc en ligne sans marge/padding */
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
        vertical-align: top !important; /* Aligner en haut pour éviter les décalages */
        box-sizing: content-box !important; /* S'assurer de la boîte de contenu pure */
    }
	/* end of the patch */
        }

        /* Responsive */
        @media (max-width: 768px) {
            .header h1 {
                font-size: 2rem;
            }
            
            .select-group {
                grid-template-columns: 1fr;
            }
            
            .button-group {
                flex-direction: column;
            }
            
            .btn {
                width: 100%;
            }
            
            .output-header {
                flex-direction: column;
                gap: 15px;
                text-align: center;
            }
            
            .container {
                padding: 10px;
            }
            
            .control-panel, .output-section {
                padding: 20px;
            }
        }

        @media (max-width: 480px) {
            .header {
                padding: 20px 10px;
            }
            
            .header h1 {
                font-size: 1.8rem;
            }
            
            .header p {
                font-size: 1rem;
            }
        }
