/*
  Robert Juliat responsive UX updates CSS document 2026 for RJ website, 
  designed by Mr Atif BUX 
*/

/* --------------------------------------------------------------------------
   Upgrade #1 for the France dealer map
   V2 France dealer map: white zone circles plus world-map style department cards.
   -------------------------------------------------------------------------- */
body.france-dealers-v2 #franceMap {
  width: 960px;
  height: 730px;
  margin: 0 auto 30px !important;
  border-radius: 20px;
  overflow: visible;
  background-position: center top !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* These legacy links were printed above the old map. V2 renders them as map circles. */
body.france-dealers-v2 .pDealers {
  display: none !important;
}

body.france-dealers-v2 #franceMap a[class^="area_"] {
  z-index: 2;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.95);
  border-radius: 50%;
  background: #fff !important;
  color: #656565 !important;
  font: 700 13px/1 "Montserrat", "Open Sans", Arial, sans-serif !important;
  text-align: center;
  text-decoration: none;
  text-shadow: none !important;
  box-shadow: 7px 7px 12px rgba(0,0,0,.18), -5px -5px 10px rgba(255,255,255,.82);
  filter: none !important;
  transition: transform 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

body.france-dealers-v2 #franceMap a[class^="area_"]::before {
  content: none !important;
  display: none !important;
}

body.france-dealers-v2 #franceMap a[class^="area_"]:hover,
body.france-dealers-v2 #franceMap a[class^="area_"]:focus-visible {
  background: #e56db1 !important;
  color: #fff !important;
  transform: translateY(-2px) scale(1.1);
  box-shadow: 0 0 10px rgba(229,109,177,.7), 7px 7px 12px rgba(0,0,0,.2);
  text-decoration: none;
}

body.france-dealers-v2 #franceMap a[class^="area_"].on {
  background: #e56db1 !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px rgba(229,109,177,.22), 0 0 16px rgba(229,109,177,.38), 7px 7px 12px rgba(0,0,0,.20);
}

body.france-dealers-v2 #franceMap a[class^="area_"].on:hover,
body.france-dealers-v2 #franceMap a[class^="area_"].on:focus-visible {
  background: #d95fa4 !important;
  color: #fff !important;
}

/* Keep the current department highlighted even when legacy map selectors are present. */
body.france-dealers-v2 #franceMap a.on {
  background: #e56db1 !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px rgba(229,109,177,.22), 0 0 16px rgba(229,109,177,.38), 7px 7px 12px rgba(0,0,0,.20) !important;
}

/* The Paris-region departments share a very small area on the map.
   Keep them visible in a dedicated upper-left overflow row. */
body.france-dealers-v2 #franceMap a.area_75 { top: 24px !important; left: 20px !important; }
body.france-dealers-v2 #franceMap a.area_77 { top: 24px !important; left: 72px !important; }
body.france-dealers-v2 #franceMap a.area_78 { top: 24px !important; left: 124px !important; }
body.france-dealers-v2 #franceMap a.area_91 { top: 24px !important; left: 176px !important; }
body.france-dealers-v2 #franceMap a.area_92 { top: 24px !important; left: 228px !important; }
body.france-dealers-v2 #franceMap a.area_93 { top: 24px !important; left: 280px !important; }
body.france-dealers-v2 #franceMap a.area_94 { top: 24px !important; left: 332px !important; }
body.france-dealers-v2 #franceMap a.area_95 { top: 24px !important; left: 384px !important; }

/* Complete marker calibration using the legacy France department map coordinates. */
body.france-dealers-v2 #franceMap a.area_01 { top:361px!important; left:682px!important; }
body.france-dealers-v2 #franceMap a.area_02 { top:104px!important; left:593px!important; }
body.france-dealers-v2 #franceMap a.area_03 { top:342px!important; left:576px!important; }
body.france-dealers-v2 #franceMap a.area_04 { top:510px!important; left:738px!important; }
body.france-dealers-v2 #franceMap a.area_05 { top:463px!important; left:746px!important; }
body.france-dealers-v2 #franceMap a.area_06 { top:527px!important; left:786px!important; }
body.france-dealers-v2 #franceMap a.area_07 { top:469px!important; left:638px!important; }
body.france-dealers-v2 #franceMap a.area_08 { top:107px!important; left:642px!important; }
body.france-dealers-v2 #franceMap a.area_09 { top:598px!important; left:489px!important; }
body.france-dealers-v2 #franceMap a.area_10 { top:201px!important; left:623px!important; }
body.france-dealers-v2 #franceMap a.area_11 { top:584px!important; left:536px!important; }
body.france-dealers-v2 #franceMap a.area_12 { top:497px!important; left:551px!important; }
body.france-dealers-v2 #franceMap a.area_13 { top:556px!important; left:690px!important; }
body.france-dealers-v2 #franceMap a.area_14 { top:139px!important; left:413px!important; }
body.france-dealers-v2 #franceMap a.area_15 { top:439px!important; left:549px!important; }
body.france-dealers-v2 #franceMap a.area_16 { top:396px!important; left:419px!important; }
body.france-dealers-v2 #franceMap a.area_17 { top:378px!important; left:372px!important; }
body.france-dealers-v2 #franceMap a.area_18 { top:293px!important; left:542px!important; }
body.france-dealers-v2 #franceMap a.area_19 { top:424px!important; left:505px!important; }
body.france-dealers-v2 #franceMap a.area_2A { top:676px!important; left:787px!important; }
body.france-dealers-v2 #franceMap a.area_2B { top:621px!important; left:785px!important; }
body.france-dealers-v2 #franceMap a.area_21 { top:264px!important; left:668px!important; }
body.france-dealers-v2 #franceMap a.area_22 { top:182px!important; left:268px!important; }
body.france-dealers-v2 #franceMap a.area_23 { top:359px!important; left:515px!important; }
body.france-dealers-v2 #franceMap a.area_24 { top:434px!important; left:449px!important; }
body.france-dealers-v2 #franceMap a.area_25 { top:298px!important; left:729px!important; }
body.france-dealers-v2 #franceMap a.area_26 { top:468px!important; left:680px!important; }
body.france-dealers-v2 #franceMap a.area_27 { top:149px!important; left:465px!important; }
body.france-dealers-v2 #franceMap a.area_28 { top:200px!important; left:484px!important; }
body.france-dealers-v2 #franceMap a.area_29 { top:192px!important; left:226px!important; }
body.france-dealers-v2 #franceMap a.area_30 { top:515px!important; left:638px!important; }
body.france-dealers-v2 #franceMap a.area_31 { top:547px!important; left:484px!important; }
body.france-dealers-v2 #franceMap a.area_32 { top:541px!important; left:433px!important; }
body.france-dealers-v2 #franceMap a.area_33 { top:470px!important; left:388px!important; }
body.france-dealers-v2 #franceMap a.area_34 { top:555px!important; left:585px!important; }
body.france-dealers-v2 #franceMap a.area_35 { top:214px!important; left:338px!important; }
body.france-dealers-v2 #franceMap a.area_36 { top:315px!important; left:493px!important; }
body.france-dealers-v2 #franceMap a.area_37 { top:271px!important; left:456px!important; }
body.france-dealers-v2 #franceMap a.area_38 { top:420px!important; left:698px!important; }
body.france-dealers-v2 #franceMap a.area_39 { top:318px!important; left:704px!important; }
body.france-dealers-v2 #franceMap a.area_40 { top:519px!important; left:364px!important; }
body.france-dealers-v2 #franceMap a.area_41 { top:243px!important; left:477px!important; }
body.france-dealers-v2 #franceMap a.area_42 { top:391px!important; left:623px!important; }
body.france-dealers-v2 #franceMap a.area_43 { top:438px!important; left:611px!important; }
body.france-dealers-v2 #franceMap a.area_44 { top:251px!important; left:345px!important; }
body.france-dealers-v2 #franceMap a.area_45 { top:230px!important; left:530px!important; }
body.france-dealers-v2 #franceMap a.area_46 { top:474px!important; left:492px!important; }
body.france-dealers-v2 #franceMap a.area_47 { top:491px!important; left:433px!important; }
body.france-dealers-v2 #franceMap a.area_48 { top:479px!important; left:593px!important; }
body.france-dealers-v2 #franceMap a.area_49 { top:271px!important; left:390px!important; }
body.france-dealers-v2 #franceMap a.area_50 { top:141px!important; left:356px!important; }
body.france-dealers-v2 #franceMap a.area_51 { top:161px!important; left:618px!important; }
body.france-dealers-v2 #franceMap a.area_52 { top:217px!important; left:674px!important; }
body.france-dealers-v2 #franceMap a.area_53 { top:210px!important; left:385px!important; }
body.france-dealers-v2 #franceMap a.area_54 { top:174px!important; left:719px!important; }
body.france-dealers-v2 #franceMap a.area_55 { top:162px!important; left:681px!important; }
body.france-dealers-v2 #franceMap a.area_56 { top:227px!important; left:280px!important; }
body.france-dealers-v2 #franceMap a.area_57 { top:155px!important; left:743px!important; }
body.france-dealers-v2 #franceMap a.area_58 { top:291px!important; left:594px!important; }
body.france-dealers-v2 #franceMap a.area_59 { top:60px!important; left:583px!important; }
body.france-dealers-v2 #franceMap a.area_60 { top:122px!important; left:535px!important; }
body.france-dealers-v2 #franceMap a.area_61 { top:174px!important; left:426px!important; }
body.france-dealers-v2 #franceMap a.area_62 { top:45px!important; left:528px!important; }
body.france-dealers-v2 #franceMap a.area_63 { top:383px!important; left:562px!important; }
body.france-dealers-v2 #franceMap a.area_64 { top:571px!important; left:369px!important; }
body.france-dealers-v2 #franceMap a.area_65 { top:593px!important; left:417px!important; }
body.france-dealers-v2 #franceMap a.area_66 { top:621px!important; left:549px!important; }
body.france-dealers-v2 #franceMap a.area_67 { top:166px!important; left:788px!important; }
body.france-dealers-v2 #franceMap a.area_68 { top:227px!important; left:777px!important; }
body.france-dealers-v2 #franceMap a.area_69 { top:364px!important; left:648px!important; }
body.france-dealers-v2 #franceMap a.area_70 { top:245px!important; left:724px!important; }
body.france-dealers-v2 #franceMap a.area_71 { top:323px!important; left:642px!important; }
body.france-dealers-v2 #franceMap a.area_72 { top:226px!important; left:430px!important; }
body.france-dealers-v2 #franceMap a.area_73 { top:403px!important; left:749px!important; }
body.france-dealers-v2 #franceMap a.area_74 { top:362px!important; left:744px!important; }
body.france-dealers-v2 #franceMap a.area_75 { top:24px!important; left:20px!important; }
body.france-dealers-v2 #franceMap a.area_76 { top:98px!important; left:470px!important; }
body.france-dealers-v2 #franceMap a.area_77 { top:24px!important; left:72px!important; }
body.france-dealers-v2 #franceMap a.area_78 { top:24px!important; left:124px!important; }
body.france-dealers-v2 #franceMap a.area_79 { top:334px!important; left:400px!important; }
body.france-dealers-v2 #franceMap a.area_80 { top:70px!important; left:508px!important; }
body.france-dealers-v2 #franceMap a.area_81 { top:530px!important; left:514px!important; }
body.france-dealers-v2 #franceMap a.area_82 { top:515px!important; left:470px!important; }
body.france-dealers-v2 #franceMap a.area_83 { top:565px!important; left:738px!important; }
body.france-dealers-v2 #franceMap a.area_84 { top:518px!important; left:681px!important; }
body.france-dealers-v2 #franceMap a.area_85 { top:322px!important; left:352px!important; }
body.france-dealers-v2 #franceMap a.area_86 { top:337px!important; left:445px!important; }
body.france-dealers-v2 #franceMap a.area_87 { top:395px!important; left:491px!important; }
body.france-dealers-v2 #franceMap a.area_88 { top:210px!important; left:732px!important; }
body.france-dealers-v2 #franceMap a.area_89 { top:240px!important; left:594px!important; }
body.france-dealers-v2 #franceMap a.area_90 { top:278px!important; left:787px!important; }
body.france-dealers-v2 #franceMap a.area_91 { top:24px!important; left:176px!important; }
body.france-dealers-v2 #franceMap a.area_92 { top:24px!important; left:228px!important; }
body.france-dealers-v2 #franceMap a.area_93 { top:24px!important; left:280px!important; }
body.france-dealers-v2 #franceMap a.area_94 { top:24px!important; left:332px!important; }
body.france-dealers-v2 #franceMap a.area_95 { top:24px!important; left:384px!important; }
body.france-dealers-v2 #franceMap a.area_971 { top:218px!important; left:103px!important; }
body.france-dealers-v2 #franceMap a.area_972 { top:313px!important; left:99px!important; }
body.france-dealers-v2 #franceMap a.area_973 { top:407px!important; left:80px!important; }
body.france-dealers-v2 #franceMap a.area_974 { top:511px!important; left:76px!important; }
body.france-dealers-v2 #franceMap a.area_975 { top:594px!important; left:104px!important; }

/* Final arrow-marked adjustments from the supplied map reference. */
body.france-dealers-v2 #franceMap a.area_80 { top:105px!important; left:542px!important; }
body.france-dealers-v2 #franceMap a.area_88 { top:226px!important; left:729px!important; }
body.france-dealers-v2 #franceMap a.area_21 { top:285px!important; left:656px!important; }
body.france-dealers-v2 #franceMap a.area_70 { top:268px!important; left:723px!important; }
body.france-dealers-v2 #franceMap a.area_44 { top:285px!important; left:353px!important; }
body.france-dealers-v2 #franceMap a.area_41 { top:277px!important; left:505px!important; }
body.france-dealers-v2 #franceMap a.area_37 { top:290px!important; left:456px!important; }
body.france-dealers-v2 #franceMap a.area_63 { top:397px!important; left:598px!important; }
body.france-dealers-v2 #franceMap a.area_33 { top:461px!important; left:394px!important; }
body.france-dealers-v2 #franceMap a.area_40 { top:497px!important; left:382px!important; }
body.france-dealers-v2 #franceMap a.area_30 { top:528px!important; left:634px!important; }
body.france-dealers-v2 #franceMap a.area_2B { top:630px!important; left:831px!important; }
body.france-dealers-v2 #franceMap a.area_2A { top:687px!important; left:829px!important; }

/* Pixel adjustments from the latest marker review. */
body.france-dealers-v2 #franceMap a.area_44 { top:275px!important; left:343px!important; }
body.france-dealers-v2 #franceMap a.area_40 { top:507px!important; left:382px!important; }
body.france-dealers-v2 #franceMap a.area_63 { top:372px!important; left:573px!important; }
body.france-dealers-v2 #franceMap a.area_21 { top:275px!important; left:646px!important; }
body.france-dealers-v2 #franceMap a.area_39 { top:308px!important; left:694px!important; }
body.france-dealers-v2 #franceMap a.area_33 { top:451px!important; left:389px!important; }
body.france-dealers-v2 #franceMap a.area_74 { top:362px!important; left:736px!important; }
body.france-dealers-v2 #franceMap a.area_2A { top:677px!important; left:829px!important; }
body.france-dealers-v2 #franceMap a.area_2B { top:620px!important; left:831px!important; }

/* Clear the overlap between departments 80 and 60; department 60 remains unchanged. */
body.france-dealers-v2 #franceMap a.area_80 { top:85px!important; left:515px!important; }
body.france-dealers-v2 #franceMap a.area_40 { left:372px!important; }

body.france-dealers-v2 #franceMap a.area_40 { top:492px!important; left:364px!important; }
body.france-dealers-v2 #franceMap a.area_06 { top:517px!important; }

body.france-dealers-v2 #franceMap a.area_40 { top:507px!important; }
body.france-dealers-v2 #franceMap a.area_41 { top:262px!important; left:490px!important; }
body.france-dealers-v2 #franceMap a.area_34 { top:545px!important; }
body.france-dealers-v2 #franceMap a.area_90 { top:284px!important; }
body.france-dealers-v2 #franceMap a.area_11 { top:578px!important; }

/* Directional marker adjustments from the 2026-07-23 map review. */
body.france-dealers-v2 #franceMap a.area_22 { top:188px!important; left:274px!important; }
body.france-dealers-v2 #franceMap a.area_56 { top:233px!important; left:286px!important; }
body.france-dealers-v2 #franceMap a.area_59 { top:66px!important; left:583px!important; }
body.france-dealers-v2 #franceMap a.area_02 { top:116px!important; left:581px!important; }
body.france-dealers-v2 #franceMap a.area_55 { top:168px!important; left:675px!important; }
body.france-dealers-v2 #franceMap a.area_54 { top:180px!important; left:713px!important; }
body.france-dealers-v2 #franceMap a.area_67 { top:172px!important; left:782px!important; }
body.france-dealers-v2 #franceMap a.area_21 { top:269px!important; left:640px!important; }
body.france-dealers-v2 #franceMap a.area_63 { top:389px!important; left:556px!important; }
body.france-dealers-v2 #franceMap a.area_38 { top:426px!important; left:692px!important; }
body.france-dealers-v2 #franceMap a.area_73 { top:403px!important; left:743px!important; }
body.france-dealers-v2 #franceMap a.area_62 { top:33px!important; left:516px!important; }

/* Final directional marker adjustments from the 2026-07-23 follow-up review. */
body.france-dealers-v2 #franceMap a.area_80 { top:79px!important; left:521px!important; }
body.france-dealers-v2 #franceMap a.area_70 { top:262px!important; left:717px!important; }
body.france-dealers-v2 #franceMap a.area_63 { top:389px!important; left:562px!important; }
body.france-dealers-v2 #franceMap a.area_87 { top:389px!important; left:486px!important; }
body.france-dealers-v2 #franceMap a.area_38 { top:420px!important; left:687px!important; }

body.france-dealers-v2 .department-grid {
  clear: both;
  width: calc(100% - 24px);
  max-width: 960px;
  margin: 24px auto 40px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

body.france-dealers-v2 .department-card {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 14px 10px;
  border-radius: 16px;
  background: #dedede;
  color: #656565;
  font: 700 14px/1.25 "Montserrat", "Open Sans", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
  box-shadow: 7px 7px 12px rgba(0,0,0,.12), -5px -5px 10px rgba(255,255,255,.9);
  transition: transform 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

body.france-dealers-v2 .department-card:hover,
body.france-dealers-v2 .department-card:focus-visible {
  background: #e56db1;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 0 10px rgba(229,109,177,.45), 7px 7px 12px rgba(0,0,0,.15);
  text-decoration: none;
}

/* Replace the legacy float layout so the title and selector stay above the map. */
body.france-dealers-v2 #distributionMap {
  display: block !important;
  width: 960px !important;
  max-width: 100% !important;
  height: auto !important;
  float: none !important;
  box-sizing: border-box;
  margin: 24px auto 40px !important;
  padding-top: 0 !important;
  text-align: center;
}

body.france-dealers-v2 #distributionMap > h1 {
  display: block !important;
  float: left !important;
  width: calc(100% - 300px) !important;
  box-sizing: border-box;
  margin: 28px 0 22px !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

body.france-dealers-v2 #distributionMap > form {
  display: block;
  float: right;
  width: 280px;
  margin: 0;
}

body.france-dealers-v2 #distributionMap > form select {
  display: block;
  float: none !important;
  width: 280px !important;
  max-width: 100%;
  box-sizing: border-box;
  margin: 24px 0 0 !important;
  height: 48px;
  padding: 0 15px;
  border: 0 !important;
  border-radius: 14px;
  background: #dedede;
  color: #656565;
  font: 14px "Montserrat", "Open Sans", Arial, sans-serif;
  box-shadow: inset 7px 7px 13px rgba(0,0,0,.16), inset -7px -7px 13px rgba(255,255,255,.85);
  appearance: auto;
}

body.france-dealers-v2 #distributionMap > form select:hover,
body.france-dealers-v2 #distributionMap > form select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(229,109,177,.24), 0 0 18px rgba(229,109,177,.24), inset 7px 7px 13px rgba(0,0,0,.16), inset -7px -7px 13px rgba(255,255,255,.85);
}

body.france-dealers-v2 #franceMap {
  clear: both;
  margin-top: 28px !important;
}

/* Department content cards follow the WORLD dealer-page treatment. */
body.france-dealers-v2 #distributionMap > .pagedistribD {
  position: relative;
  clear: both;
  display: block;
  width: calc(100% - 24px);
  max-width: 960px;
  min-height: 150px;
  margin: 22px auto 40px;
  padding: 26px 30px 30px;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  box-shadow: 10px 10px 22px rgba(0,0,0,.12), -8px -8px 18px rgba(255,255,255,.88);
  overflow: hidden;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .top2Map,
body.france-dealers-v2 #distributionMap > .pagedistribD > .back2Map {
  display: none;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .h3PageDist {
  float: none !important;
  width: auto !important;
  margin: 0 0 120px !important;
  color: #656565;
  font: 700 28px/1.2 "Montserrat", "Open Sans", Arial, sans-serif;
  font-size: 28px !important;
  text-align: center;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card {
  display: grid;
  grid-template-columns: 300px 420px;
  column-gap: 50px;
  row-gap: 18px;
  justify-content: center;
  align-items: center;
  width: min(100%, 770px);
  max-width: 100%;
  margin: 0;
  padding: 22px 0;
  border-top: 1px solid rgba(101,101,101,.12);
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card {
  margin-left: auto;
  margin-right: auto;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card:first-of-type {
  border-top: 0;
  padding-top: 6px;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section {
  float: none !important;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  align-self: center;
  text-align: center !important;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 180px;
  margin: 0 auto;
  border-radius: 12px;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section.addDistrib {
  align-self: center;
  text-align: left !important;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card .h2PageDist {
  margin: 0 0 14px !important;
  color: #656565;
  font: 700 22px/1.2 "Montserrat", "Open Sans", Arial, sans-serif;
  text-align: left !important;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card .addDistrib p {
  margin: 0 0 8px;
  padding: 0 !important;
  color: #656565;
  font: 400 16px/1.45 "Montserrat", "Open Sans", Arial, sans-serif;
}

/* On wide screens the dealer card sits inside a wider department panel.
   Re-center the logo within the visual space before the information column,
   rather than centering it against the whole panel. */
@media (min-width: 1101px) {
  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section:not(.addDistrib) {
    position: relative;
    left: -35px;
  }
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card a {
  color: #c95798;
}

body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card a:hover,
body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card a:focus-visible {
  color: #9c3973;
}

/* Keep the desktop composition centered while the viewport is narrower than
   the full 960px map. This avoids the map and selector being clipped before
   the mobile breakpoint takes over. */
@media (min-width: 768px) and (max-width: 1100px) {
  html,
  body {
    overflow-x: hidden;
  }

  body.france-dealers-v2 #distributionMap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px auto 32px !important;
  }

  body.france-dealers-v2 #distributionMap > h1 {
    float: none !important;
    width: 100% !important;
    margin: 24px auto 18px !important;
    text-align: center !important;
  }

  body.france-dealers-v2 #distributionMap > form {
    float: none !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  body.france-dealers-v2 #distributionMap > form select {
    width: calc(100% - 48px) !important;
    max-width: 640px !important;
    margin: 0 auto !important;
  }

  body.france-dealers-v2 #franceMap {
    transform: scale(.78);
    transform-origin: center top;
    left: 50%;
    clear: both;
    margin: 28px 0 -160px -480px !important;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD {
    width: calc(100% - 48px);
    max-width: 960px;
    padding-left: 24px;
    padding-right: 24px;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .h3PageDist {
    margin-bottom: 72px !important;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card {
    grid-template-columns: 240px 360px;
    column-gap: 32px;
    width: min(100%, 632px);
  }
}

@media (max-width: 767px) {
  body.france-dealers-v2 #distributionMap {
    width: 100% !important;
    max-width: 100vw !important;
    float: none !important;
    box-sizing: border-box;
    margin: 16px auto 28px !important;
    padding-top: 10px !important;
    overflow: hidden;
  }

  body.france-dealers-v2 #distributionMap h1 {
    float: none !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 18px auto 20px !important;
    text-align: center !important;
  }

  body.france-dealers-v2 #distributionMap form {
    clear: both;
    width: 100%;
    float: none !important;
    margin: 0 !important;
  }

  body.france-dealers-v2 #distributionMap select {
    float: none !important;
    display: block;
    width: calc(100vw - 48px) !important;
    max-width: 960px;
    margin: 0 auto !important;
    box-sizing: border-box;
  }

  body.france-dealers-v2 #distributionMap > form select {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    margin: 0 auto !important;
  }

  body.france-dealers-v2 #franceMap {
    transform: scale(.38);
    transform-origin: center top;
    left: 50%;
    clear: both;
    margin: 28px 0 -425px -480px !important;
  }

  body.france-dealers-v2 .department-grid {
    width: calc(100vw - 24px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
  }

  body.france-dealers-v2 .department-card {
    min-height: 58px;
    padding: 12px 8px;
    font-size: 12px;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD {
    display: block;
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    min-height: 0;
    margin: 18px auto 28px;
    padding: 18px 16px 22px;
    border-radius: 16px;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .h3PageDist {
    margin-bottom: 40px !important;
    text-align: center;
    font-size: 28px !important;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    justify-content: center;
    padding: 20px 0 22px;
    text-align: center;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section,
  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section.addDistrib {
    display: block;
    flex: 0 0 100%;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    text-align: center !important;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section.addDistrib {
    order: 1;
    text-align: center !important;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section.addDistrib .h2PageDist,
  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section.addDistrib p {
    text-align: center !important;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section:not(.addDistrib) {
    order: 2;
    display: flex !important;
    flex: 0 0 100%;
    width: 100% !important;
    align-items: center;
    justify-content: center;
    text-align: center !important;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section:not(.addDistrib) > a {
    display: inline-flex !important;
    flex: 0 1 auto;
    width: fit-content !important;
    max-width: 100%;
    margin: 0 auto !important;
    align-items: center;
    justify-content: center;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section img {
    display: block !important;
    max-width: 78%;
    max-height: 180px;
    margin: 12px 0 !important;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD .h2PageDist {
    font-size: 18px;
    text-align: center !important;
  }

  body.france-dealers-v2 #distributionMap > .pagedistribD .addDistrib p {
    font-size: 15px;
    text-align: center;
  }

  /* Mobile dealer-card standard: centered logo first, dealer information second. */
  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section:not(.addDistrib) { order: 1; }
  body.france-dealers-v2 #distributionMap > .pagedistribD > .dealer-card > section.addDistrib { order: 2; }
}

@media (min-width: 421px) and (max-width: 767px) {
  body.france-dealers-v2 #franceMap {
    transform: scale(.496);
    margin-bottom: -341px !important;
  }
}

@media (max-width: 360px) {
  body.france-dealers-v2 #franceMap {
    transform: scale(.30);
    margin-bottom: -484px !important;
  }
}
