.elementor-191 .elementor-element.elementor-element-15f2dc6b{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}/* Start custom CSS for text-editor, class: .elementor-element-4c103e7a *//* ============================================
   CARTE INTERACTIVE + DRAPEAUX
   ============================================ */

.partner-section { padding: 48px 0; }

.partner-section .container { max-width: 1140px; margin: 0 auto; padding: 0 16px; }

.map-part { position: relative; margin-bottom: 24px; }

.map-overlay { position: fixed; height: 100%; width: 100%; top: 0; left: 0; background: rgba(255,255,255,0.1); z-index: 5; opacity: 0; visibility: hidden; transition: all .7s ease 0; }

.fixed-map { display: block; width: 1140px; position: relative; height: 590px; margin: 0 auto 40px auto; }

.fixed-map ul { position: absolute; list-style: none; margin: 0; padding: 0; }

.continents { background: url("https://chippc.com/wp-content/themes/chippc/assets/img/worldmap-sprite-gray.png") 0 0 / 1856px 393px no-repeat; position: absolute; transition: all .5s ease; cursor: pointer; text-align: left; list-style-type: none; }

.continents.zoom { background: url("https://chippc.com/wp-content/themes/chippc/assets/img/blue-worldmap-sprite.png") 0 0 / 1856px 393px no-repeat; z-index: 99; filter: contrast(100%); }

.continents.cont1 { height: 363px; width: 484px; background-position: 0 0; top: 51px; left: 10px; }

.continents.cont2 { height: 268px; width: 175px; background-position: -490px 1px; top: 377px; left: 243px; }

.continents.cont3 { height: 229px; width: 219px; background-position: -655px 1px; top: 88px; left: 475px; }

.continents.cont4 { height: 283px; width: 230px; background-position: -895px 0; top: 300px; left: 512px; }

.continents.cont5 { height: 394px; width: 500px; background-position: -1130px 2px; top: 81px; left: 639px; }

.continents.cont6 { height: 138px; width: 242px; background-position: -1644px 2px; top: 485px; left: 894px; }

span.zwp-mapicon { content: ''; position: absolute; width: 35px; height: 35px; background: url("https://chippc.com/wp-content/themes/chippc/assets/img/map-pin.svg") no-repeat; background-size: 25px auto; top: 50%; left: 50%; transform: translate(-50%,-50%); }

.continents.cont1 span.zwp-mapicon { left: 40%; }

.continents.cont2 span.zwp-mapicon { top: 34%; }

.continents.cont3 span.zwp-mapicon { left: 68%; top: 67%; }

.continents.cont4 span.zwp-mapicon { top: 34%; }

.continents.cont5 span.zwp-mapicon { top: 44%; }

.continents.cont6 span.zwp-mapicon { top: 30%; left: 36%; }

.selected-countries { position: absolute; opacity: 0; visibility: hidden; padding: 20px; border-radius: 5px; display: flex; flex-wrap: wrap; gap: 10px; background: #fff; box-shadow: 0 16px 32px rgba(133,143,172,0.1); border: 1px solid #e1e4f0; z-index: 1000; min-width: 300px; max-width: 650px; }

.cont1 .selected-countries { right: -250px; top: 120px; width: 550px!important; }

.cont2 .selected-countries { right: -150px; top: 120px; width: 550px!important; }

.cont3 .selected-countries { right: -250px; top: 20px; width: 650px!important; }

.cont4 .selected-countries { right: -150px; top: 130px; width: 550px!important; }

.cont5 .selected-countries { left: 0; top: 200px; width: 550px!important; }

.cont6 .selected-countries { left: -250px; bottom: 50px; width: 550px!important; }

.map-overlay.active { opacity: 1; visibility: visible; }

.continents.zoom .selected-countries { opacity: 1; visibility: visible; transition: all 1s .3s; display: flex!important; }

/* ============================================
   DRAPEAUX (FLAGS)
   ============================================ */

.s-country { display: inline-block !important; padding: 8px 12px !important; padding-left: 38px !important; color: #333 !important; font-size: 14px !important; cursor: pointer !important; z-index: 1001 !important; position: relative !important; white-space: nowrap !important; border-radius: 4px !important; transition: all 0.2s ease !important; min-width: 150px !important; flex: 0 0 auto !important; background: #f3f4f6 !important; line-height: 1.4 !important; }

.s-country::before { content: '' !important; position: absolute !important; left: 10px !important; top: 50% !important; transform: translateY(-50%) !important; width: 22px !important; height: 16px !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; border: 1px solid rgba(0,0,0,0.1) !important; border-radius: 2px !important; z-index: 1003 !important; display: block !important; }

.s-country[data-country="Canada"]::before { background-image: url('https://flagcdn.com/w20/ca.png') !important; }

.s-country[data-country="France"]::before { background-image: url('https://flagcdn.com/w20/fr.png') !important; }

.s-country[data-country="United States"]::before { background-image: url('https://flagcdn.com/w20/us.png') !important; }

.s-country[data-country="Mexico"]::before { background-image: url('https://flagcdn.com/w20/mx.png') !important; }

.s-country[data-country="Brazil"]::before { background-image: url('https://flagcdn.com/w20/br.png') !important; }

.s-country[data-country="Chile"]::before { background-image: url('https://flagcdn.com/w20/cl.png') !important; }

.s-country[data-country="Argentina"]::before { background-image: url('https://flagcdn.com/w20/ar.png') !important; }

.s-country[data-country="Germany"]::before { background-image: url('https://flagcdn.com/w20/de.png') !important; }

.s-country[data-country="United Kingdom"]::before { background-image: url('https://flagcdn.com/w20/gb.png') !important; }

.s-country[data-country="Italy"]::before { background-image: url('https://flagcdn.com/w20/it.png') !important; }

.s-country[data-country="Spain"]::before { background-image: url('https://flagcdn.com/w20/es.png') !important; }

.s-country[data-country="Netherlands"]::before { background-image: url('https://flagcdn.com/w20/nl.png') !important; }

.s-country[data-country="Belgium"]::before { background-image: url('https://flagcdn.com/w20/be.png') !important; }

.s-country[data-country="Switzerland"]::before { background-image: url('https://flagcdn.com/w20/ch.png') !important; }

.s-country[data-country="Austria"]::before { background-image: url('https://flagcdn.com/w20/at.png') !important; }

.s-country[data-country="Sweden"]::before { background-image: url('https://flagcdn.com/w20/se.png') !important; }

.s-country[data-country="Norway"]::before { background-image: url('https://flagcdn.com/w20/no.png') !important; }

.s-country[data-country="Denmark"]::before { background-image: url('https://flagcdn.com/w20/dk.png') !important; }

.s-country[data-country="Finland"]::before { background-image: url('https://flagcdn.com/w20/fi.png') !important; }

.s-country[data-country="Poland"]::before { background-image: url('https://flagcdn.com/w20/pl.png') !important; }

.s-country[data-country="Portugal"]::before { background-image: url('https://flagcdn.com/w20/pt.png') !important; }

.s-country[data-country="Greece"]::before { background-image: url('https://flagcdn.com/w20/gr.png') !important; }

.s-country[data-country="Ireland"]::before { background-image: url('https://flagcdn.com/w20/ie.png') !important; }

.s-country[data-country="Czech Republic"]::before { background-image: url('https://flagcdn.com/w20/cz.png') !important; }

.s-country[data-country="Romania"]::before { background-image: url('https://flagcdn.com/w20/ro.png') !important; }

.s-country[data-country="Hungary"]::before { background-image: url('https://flagcdn.com/w20/hu.png') !important; }

.s-country[data-country="Egypt"]::before { background-image: url('https://flagcdn.com/w20/eg.png') !important; }

.s-country[data-country="Kenya"]::before { background-image: url('https://flagcdn.com/w20/ke.png') !important; }

.s-country[data-country="South Africa"]::before { background-image: url('https://flagcdn.com/w20/za.png') !important; }

.s-country[data-country="Morocco"]::before { background-image: url('https://flagcdn.com/w20/ma.png') !important; }

.s-country[data-country="Côte d'Ivoire"]::before { background-image: url('https://flagcdn.com/w20/ci.png') !important; }

.s-country[data-country="India"]::before { background-image: url('https://flagcdn.com/w20/in.png') !important; }

.s-country[data-country="Japan"]::before { background-image: url('https://flagcdn.com/w20/jp.png') !important; }

.s-country[data-country="United Arab Emirates"]::before { background-image: url('https://flagcdn.com/w20/ae.png') !important; }

.s-country[data-country="Israel"]::before { background-image: url('https://flagcdn.com/w20/il.png') !important; }

.s-country[data-country="New Zealand"]::before { background-image: url('https://flagcdn.com/w20/nz.png') !important; }

.s-country[data-country="Australia"]::before { background-image: url('https://flagcdn.com/w20/au.png') !important; }

.s-country:hover { background: #3b82f6 !important; color: #fff !important; z-index: 1002 !important; opacity: 1 !important; }

.s-country.active { background: #3b82f6 !important; color: #fff !important; opacity: 1 !important; z-index: 1002 !important; }

/* ============================================
   GRILLE RESPONSIVE DES REVENDEURS
   ============================================ */

div.resellers-grid, .resellers-grid { display: grid !important; grid-template-columns: repeat(3, minmax(250px, 1fr)) !important; gap: 24px !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box !important; }

div.resellers-grid > div.card, .resellers-grid > .card, .resellers-grid .card { width: 100% !important; min-width: 250px !important; max-width: 100% !important; box-sizing: border-box !important; margin: 0 !important; padding: 0 !important; flex: none !important; flex-basis: auto !important; flex-grow: 0 !important; flex-shrink: 0 !important; }

.resellers-grid .card > *, .resellers-grid .card .card-logo-container, .resellers-grid .card .card-body { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }

/* ============================================
   CARTES DE REVENDEURS
   ============================================ */

.resellers { margin-top: 40px; }

.resellers h3 { margin: 32px 0 16px; font-size: 24px; font-weight: 600; color: #111827; }

.card { border: 1px solid #e5e7eb !important; border-radius: 16px !important; padding: 0 !important; box-shadow: 0 4px 6px rgba(0,0,0,0.05) !important; overflow: hidden !important; transition: all 0.3s ease !important; background: #fff !important; display: flex !important; flex-direction: column !important; cursor: pointer !important; width: 100% !important; }

.card:hover { transform: translateY(-4px) !important; box-shadow: 0 12px 24px rgba(0,0,0,0.12) !important; }

.card-logo-container { background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%) !important; padding: 20px !important; text-align: center !important; height: 140px !important; min-height: 140px !important; max-height: 140px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-bottom: 1px solid #e5e7eb !important; flex-shrink: 0 !important; box-sizing: border-box !important; position: relative !important; overflow: hidden !important; width: 100% !important; }

.card-logo-container img { max-height: 100px !important; max-width: 90% !important; width: auto !important; height: auto !important; object-fit: contain !important; display: block !important; margin: 0 auto !important; transition: transform 0.3s ease !important; }

.card:hover .card-logo-container img { transform: scale(1.05) !important; }

.status-badge { display: inline-block !important; padding: 6px 14px !important; border-radius: 20px !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important; margin-bottom: 10px !important; margin-right: 8px !important; box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important; }

.status-silver { background: linear-gradient(135deg, #C0C0C0 0%, #A8A8A8 100%) !important; color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important; }

.status-gold { background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important; color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important; }

.status-platinum { background: linear-gradient(135deg, #E5E4E2 0%, #BCC6CC 100%) !important; color: #2c3e50 !important; text-shadow: 0 1px 1px rgba(255,255,255,0.5) !important; font-weight: 800 !important; }

.account-type-badge { display: inline-block !important; padding: 4px 10px !important; background-color: #6c757d !important; color: #fff !important; border-radius: 12px !important; font-size: 10px !important; font-weight: 600 !important; margin-bottom: 10px !important; }

.card-body { padding: 20px 22px !important; flex: 1 !important; display: flex !important; flex-direction: column !important; box-sizing: border-box !important; width: 100% !important; }

.card-body h5 { font-size: 18px !important; font-weight: 600 !important; margin: 0 0 12px !important; color: #111827 !important; line-height: 1.3 !important; min-height: 54px !important; display: flex !important; align-items: center !important; }

.card-body p { margin: 6px 0 !important; font-size: 14px !important; color: #4b5563 !important; display: flex !important; align-items: center !important; gap: 6px !important; }

.card-body p strong { font-weight: 600 !important; color: #111827 !important; min-width: 70px !important; }

.card-body a { color: #3b82f6 !important; text-decoration: none !important; word-break: break-word !important; }

.card-body a:hover { text-decoration: underline !important; }

/* ============================================
   HEADER - TEXTE SUR UNE SEULE LIGNE
   ============================================ */

.resellers-header { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 12px !important; margin-bottom: 24px !important; }

.resellers-header h3 { font-size: 24px !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; display: inline-block !important; white-space: nowrap !important; flex-shrink: 0 !important; }

.resellers-header .back-link { display: inline-flex !important; align-items: center !important; color: #3b82f6 !important; text-decoration: none !important; font-size: 14px !important; font-weight: 600 !important; transition: color 0.2s !important; white-space: nowrap !important; flex-shrink: 0 !important; }

.resellers-header .back-link:hover { color: #2563eb !important; }

/* ============================================
   COUNTRY PICKER
   ============================================ */

.country-picker { margin: 16px 0 !important; padding: 16px !important; background: #f9fafb !important; border-radius: 8px !important; }

.country-picker label { display: block !important; margin-bottom: 8px !important; font-weight: 600 !important; color: #111827 !important; }

.country-picker select { padding: 10px 16px !important; border: 1px solid #e5e7eb !important; border-radius: 6px !important; font-size: 14px !important; width: 100% !important; max-width: 300px !important; background: #fff !important; cursor: pointer !important; transition: all 0.2s !important; }

.country-picker select:hover { border-color: #3b82f6 !important; }

/* ============================================
   LOADING SPINNER
   ============================================ */

.resellers-loading { text-align: center !important; padding: 60px 20px !important; }

@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.resellers-loading .spinner { display: inline-block !important; width: 40px !important; height: 40px !important; border: 4px solid #f3f3f3 !important; border-top: 4px solid #3b82f6 !important; border-radius: 50% !important; animation: spin 1s linear infinite !important; }

/* ============================================
   RESPONSIVE - CARTE INTERACTIVE
   ============================================ */

@media (max-width: 1200px) { .fixed-map { width: 100% !important; max-width: 900px !important; height: auto !important; min-height: 400px !important; } }

@media (max-width: 992px) { .fixed-map { max-width: 700px !important; min-height: 350px !important; } .fixed-map ul { transform: scale(0.7) !important; } .resellers-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; } }

@media (max-width: 768px) { .partner-section { padding: 24px 0 !important; } .partner-section .container { padding: 0 12px !important; } .fixed-map { max-width: 100% !important; min-height: 300px !important; margin-bottom: 20px !important; } .fixed-map ul { transform: scale(0.5) !important; } .country-picker { margin-bottom: 16px !important; } .country-picker label { font-size: 14px !important; } .country-picker select { width: 100% !important; font-size: 14px !important; } .resellers-grid { grid-template-columns: 1fr !important; gap: 16px !important; } .resellers-sidebar { width: 100% !important; margin-bottom: 20px !important; } .resellers-header { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; } .resellers-header h3 { font-size: 20px !important; } .resellers-header .back-link { font-size: 13px !important; } }

@media (max-width: 480px) { .fixed-map { min-height: 250px !important; } .fixed-map ul { transform: scale(0.4) !important; } .resellers-header h3 { font-size: 18px !important; } .card-body { padding: 16px !important; } .card h5 { font-size: 16px !important; } }

/* ============================================
   RESPONSIVE - DRAPEAUX SUR LA CARTE
   ============================================ */

@media (max-width: 768px) { .selected-countries { padding: 12px !important; gap: 8px !important; min-width: 250px !important; max-width: 90vw !important; } .s-country { font-size: 12px !important; padding: 6px 10px !important; padding-left: 32px !important; min-width: 120px !important; } .s-country::before { width: 18px !important; height: 13px !important; left: 8px !important; } .cont1 .selected-countries, .cont2 .selected-countries, .cont3 .selected-countries, .cont4 .selected-countries, .cont5 .selected-countries, .cont6 .selected-countries { width: auto !important; max-width: 90vw !important; right: auto !important; left: 50% !important; transform: translateX(-50%) !important; } }

/* ============================================
   FIX HORIZONTAL SCROLLBAR
   ============================================ */

body, html { overflow-x: hidden !important; }

.partner-section, .partner-section .container, .map-part, .fixed-map { overflow-x: hidden !important; }/* End custom CSS */