body
{
   background-color: #FFFFFF;
   color: #000000;
   font-family: Arial;
   font-weight: normal;
   font-size: 16px;
   line-height: 1.1875;
   margin: 0;
   padding: 0;
}
#wb_header13LayoutGrid1
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #444444;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#header13LayoutGrid1
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 20px 0 20px 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#header13LayoutGrid1 > .col-1, #header13LayoutGrid1 > .col-2, #header13LayoutGrid1 > .col-3
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#header13LayoutGrid1 > .col-1, #header13LayoutGrid1 > .col-2, #header13LayoutGrid1 > .col-3
{
   flex: 0 0 auto;
}
#header13LayoutGrid1 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 8.33333333%;
   max-width: 8.33333333%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
#header13LayoutGrid1 > .col-2
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 58.33333333%;
   max-width: 58.33333333%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
#header13LayoutGrid1 > .col-3
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 33.33333333%;
   max-width: 33.33333333%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
@media (max-width: 320px)
{
#header13LayoutGrid1 > .col-1, #header13LayoutGrid1 > .col-2, #header13LayoutGrid1 > .col-3
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#wb_Text3 
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #000000;
   border-radius: 0px;
   padding: 0;
   margin: 0;
   text-align: center;
}
#wb_Text3 div
{
   text-align: center;
}
#wb_Text3
{
   display: block;
   margin: 0;
   box-sizing: border-box;
   width: 100%;
}
#wb_LayoutGrid1
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: rgba(68,68,68,0.39);
   background-image: none;
   border: 0px solid #444444;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#LayoutGrid1
{
   box-sizing: border-box;
   padding: 10px 15px 10px 15px;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#LayoutGrid1 > .row
{
   margin-right: -15px;
   margin-left: -15px;
}
#LayoutGrid1 > .row > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid1 > .row > .col-1
{
   float: left;
}
#LayoutGrid1 > .row > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   width: 100%;
   text-align: center;
}
#LayoutGrid1:before,
#LayoutGrid1:after,
#LayoutGrid1 .row:before,
#LayoutGrid1 .row:after
{
   display: table;
   content: " ";
}
#LayoutGrid1:after,
#LayoutGrid1 .row:after
{
   clear: both;
}
@media (max-width: 768px)
{
#LayoutGrid1 > .row > .col-1
{
   float: none;
   width: 100%;
}
}
#wb_Text2 
{
   background-color: #444444;
   background-image: none;
   border: 0px solid #000000;
   border-radius: 0px;
   padding: 0;
   margin: 0;
   text-align: center;
}
#wb_Text2 div
{
   text-align: center;
}
#wb_Text2
{
   display: block;
   margin: 0;
   box-sizing: border-box;
   width: 100%;
}
#wb_text5LayoutGrid
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: rgba(255,255,255,0.39);
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#text5LayoutGrid
{
   box-sizing: border-box;
   padding: 20px 15px 20px 15px;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#text5LayoutGrid > .row
{
   margin-right: -15px;
   margin-left: -15px;
}
#text5LayoutGrid > .row > .col-1
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#text5LayoutGrid > .row > .col-1
{
   float: left;
}
#text5LayoutGrid > .row > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   width: 100%;
   text-align: center;
}
#text5LayoutGrid:before,
#text5LayoutGrid:after,
#text5LayoutGrid .row:before,
#text5LayoutGrid .row:after
{
   display: table;
   content: " ";
}
#text5LayoutGrid:after,
#text5LayoutGrid .row:after
{
   clear: both;
}
@media (max-width: 768px)
{
#text5LayoutGrid > .row > .col-1
{
   float: none;
   width: 100%;
}
}
#wb_LayoutGrid2
{
   clear: both;
   position: relative;
   table-layout: fixed;
   display: table;
   text-align: center;
   width: 100%;
   background-color: #444444;
   background-image: none;
   border: 0px solid #CCCCCC;
   border-radius: 0px;
   box-sizing: border-box;
   margin: 0;
}
#LayoutGrid2
{
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   padding: 20px 0 20px 0;
   margin-right: auto;
   margin-left: auto;
   max-width: 1140px;
}
#LayoutGrid2 > .col-1, #LayoutGrid2 > .col-2, #LayoutGrid2 > .col-3
{
   box-sizing: border-box;
   font-size: 0;
   min-height: 1px;
   padding-right: 15px;
   padding-left: 15px;
   position: relative;
}
#LayoutGrid2 > .col-1, #LayoutGrid2 > .col-2, #LayoutGrid2 > .col-3
{
   flex: 0 0 auto;
}
#LayoutGrid2 > .col-1
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 25%;
   max-width: 25%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
#LayoutGrid2 > .col-2
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 58.33333333%;
   max-width: 58.33333333%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
#LayoutGrid2 > .col-3
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #FFFFFF;
   border-radius: 0px;
   flex-basis: 16.66666667%;
   max-width: 16.66666667%;
   display: flex;
   flex-wrap: wrap;
   align-content: center;
   align-self: stretch;
   align-items: center;
   justify-content: center;
   text-align: center;
}
@media (max-width: 320px)
{
#LayoutGrid2 > .col-1, #LayoutGrid2 > .col-2, #LayoutGrid2 > .col-3
{
   flex-basis: 100% !important;
   max-width: 100% !important;
}
}
#form9Breadcrumb2
{
   list-style: none;
   padding: 8px 15px 8px 0;
   background-color: transparent;
   background-image: none;
   border: 0px solid #C0C0C0;
   border-radius: 0px;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 0;
   margin: 0;
   text-align: left;
}
#form9Breadcrumb2 > li
{
   display: inline-block;
   font-size: 15px;
   text-transform: none;
}
#form9Breadcrumb2 a
{
   color: #FFFFFF;
   text-decoration: none;
}
#form9Breadcrumb2 a:hover
{
   color: #FFFFFF;
   text-decoration: underline;
}
#form9Breadcrumb2 > .active
{
   color: #FFFFFF;
}
#form9Breadcrumb2 > .active a
{
   color: inherit;
   pointer-events: none;
}
#form9Breadcrumb2 > li + li:before
{
   content: "";
   padding: 0 5px;
   color: #C0C0C0;
}
#form9Breadcrumb2 li i
{
   font-size: 15px;
   vertical-align: text-bottom;
   width: 17px;
}
#form9Breadcrumb1
{
   list-style: none;
   padding: 8px 15px 8px 0;
   background-color: transparent;
   background-image: none;
   border: 0px solid #C0C0C0;
   border-radius: 0px;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 0;
   margin: 0;
   text-align: left;
}
#form9Breadcrumb1 > li
{
   display: inline-block;
   font-size: 15px;
   text-transform: none;
}
#form9Breadcrumb1 a
{
   color: #FFFFFF;
   text-decoration: none;
}
#form9Breadcrumb1 a:hover
{
   color: #FFFFFF;
   text-decoration: underline;
}
#form9Breadcrumb1 > .active
{
   color: #FFFFFF;
}
#form9Breadcrumb1 > .active a
{
   color: inherit;
   pointer-events: none;
}
#form9Breadcrumb1 > li + li:before
{
   content: "";
   padding: 0 5px;
   color: #C0C0C0;
}
#form9Breadcrumb1 li i
{
   font-size: 15px;
   vertical-align: text-bottom;
   width: 17px;
}
#Breadcrumb1
{
   list-style: none;
   padding: 8px 15px 8px 0;
   background-color: transparent;
   background-image: none;
   border: 0px solid #C0C0C0;
   border-radius: 0px;
   font-family: Arial;
   font-weight: normal;
   font-style: normal;
   font-size: 0;
   margin: 0;
   text-align: left;
}
#Breadcrumb1 > li
{
   display: inline-block;
   font-size: 15px;
   text-transform: none;
}
#Breadcrumb1 a
{
   color: #FFFFFF;
   text-decoration: none;
}
#Breadcrumb1 a:hover
{
   color: #FFFFFF;
   text-decoration: underline;
}
#Breadcrumb1 > .active
{
   color: #FFFFFF;
}
#Breadcrumb1 > .active a
{
   color: inherit;
   pointer-events: none;
}
#Breadcrumb1 > li + li:before
{
   content: "";
   padding: 0 5px;
   color: #C0C0C0;
}
#Breadcrumb1 li i
{
   font-size: 15px;
   vertical-align: text-bottom;
   width: 17px;
}
#wb_Text1 
{
   background-color: transparent;
   background-image: none;
   border: 0px solid #4F4F4F;
   border-radius: 0px;
   padding: 0;
   margin: 0;
   text-align: center;
}
#wb_Text1 div
{
   text-align: center;
}
#wb_Text1
{
   display: block;
   margin: 0;
   box-sizing: border-box;
   width: 100%;
}
#wb_Image1
{
   margin: 0;
   vertical-align: top;
}
#Image1
{
   border: 0px solid #000000;
   border-radius: 0px;
   box-sizing: border-box;
   padding: 0;
   display: block;
   width: 100%;
   height: auto;
   max-width: 768px;
   margin-left: auto;
   margin-right: auto;
   vertical-align: top;
}
        body { font-family: 'Segoe UI', sans-serif; padding: 20px; background-color: #f4f7f6; color: #333; }
        
        h1, h2 { color: #2c3e50; }
        
        /* --- SECTION CARTE --- */
        #map { height: 400px; width: 100%; border: 2px solid #ccc; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); margin-bottom: 20px;}
        
        .search-box {
            background: #fff;
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 20px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        }
        input[type="text"] {
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 4px;
            flex-grow: 1;
        }
        button.calc-btn {
            padding: 10px 20px;
            background-color: #007bff;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-weight: bold;
        }
        button.calc-btn:hover { background-color: #0056b3; }

        #route-info {
            background: #e8f4fd;
            padding: 10px;
            border-radius: 5px;
            margin-bottom: 20px;
            font-weight: bold;
            text-align: center;
            border-left: 5px solid #007bff;
        }

        /* --- SECTION FORMULAIRE TARIF --- */
        .pricing-form {
            background: white;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
            max-width: 800px;
            margin: 0 auto;
        }

        .form-group { margin-bottom: 15px; }
        .form-group label { display: block; margin-bottom: 5px; font-weight: 600; }
        
        select {
            width: 100%;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 16px;
            background-color: #fff;
        }

        select:disabled, input[type="checkbox"]:disabled {
            background-color: #e9ecef;
            cursor: not-allowed;
            color: #6c757d;
        }

        .checkbox-group {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            background: #f9f9f9;
            padding: 15px;
            border-radius: 5px;
            border: 1px solid #eee;
        }
        .checkbox-item {
            display: flex;
            align-items: center;
            gap: 8px;
            cursor: pointer;
        }
        input[type="checkbox"] { transform: scale(1.2); cursor: pointer; }

        /* --- SECTION RESULTAT FINAL --- */
        #final-result {
            margin-top: 30px;
            background-color: #2c3e50;
            color: white;
            padding: 20px;
            border-radius: 8px;
            text-align: right;
        }
        .result-row { 
            display: flex; 
            justify-content: space-between; 
            margin-bottom: 10px; 
            font-size: 1.1em; 
            opacity: 0.9; 
        }
        .total-row { 
            border-top: 2px solid rgba(255,255,255,0.3); 
            margin-top: 15px; 
            padding-top: 15px; 
            font-size: 2em; 
            font-weight: bold; 
            color: #2ecc71; 
        }

        /* Masquer le panneau latéral de l'itinéraire */
        .leaflet-routing-container { display: none !important; }
    