.dealer-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right,rgba(255,138,0,.16),transparent 28%),
    radial-gradient(circle at 14% 18%,rgba(255,255,255,.08),transparent 22%),
    linear-gradient(118deg,#0d0f14 0%,#171b24 48%,#1d2029 100%);
  color:#fff;
  padding:clamp(3rem,7vw,5.75rem) 0 clamp(4.5rem,9vw,7rem);
}
.dealer-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:rgba(255,255,255,.08);
}
.dealer-hero__inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2.2rem;
  align-items:end;
}
.dealer-hero h1{
  max-width:760px;
  margin:.45rem 0 1rem;
  font-size:clamp(3rem,6vw,5.4rem);
  line-height:.94;
  letter-spacing:-.055em;
}
.dealer-hero p{
  max-width:740px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:1.15rem;
  line-height:1.65;
}
.dealer-hero__badge{
  min-width:180px;
  padding:1.45rem 1.5rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:24px;
  background:rgba(255,255,255,.04);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  text-align:right;
  backdrop-filter:blur(10px);
}
.dealer-hero__badge strong{
  display:block;
  font-size:4.2rem;
  line-height:.9;
  letter-spacing:-.04em;
}
.dealer-hero__badge span{
  display:block;
  margin-top:.4rem;
  color:rgba(255,255,255,.76);
  font-size:.95rem;
}

.dealer-locator{
  position:relative;
  z-index:2;
  margin-top:-4.5rem;
  padding-top:0;
  padding-bottom:5rem;
}
.dealer-search-card,
.dealer-map-panel,
.dealer-card,
.dealer-contact-card,
.dealer-detail-main>.panel{
  box-shadow:0 20px 55px rgba(17,20,26,.06),0 3px 12px rgba(17,20,26,.04);
}
.dealer-search-card{
  background:var(--surface,#fff);
  border:1px solid color-mix(in srgb,var(--line,#dedfe3) 92%,#fff 8%);
  border-radius:24px;
  padding:1.35rem;
}
.dealer-search-main{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto auto;
  gap:1rem;
  align-items:end;
}
.dealer-search-main label,
.dealer-filter-grid label{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin:0;
}
.dealer-search-main label span,
.dealer-filter-grid label span{
  font-size:.94rem;
  font-weight:850;
  color:var(--text);
}
.dealer-search-main input,
.dealer-filter-grid input,
.dealer-filter-grid select{
  min-height:54px;
  border:1px solid #dadddf;
  border-radius:14px;
  padding:.85rem .95rem;
  background:#fff;
  color:inherit;
  font:inherit;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.dealer-search-main input:focus,
.dealer-filter-grid input:focus,
.dealer-filter-grid select:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(255,138,0,.1);
  outline:none;
}
.dealer-search-main .button,
.dealer-filter-actions .button,
.dealer-card__actions .button,
.dealer-contact-card .button{
  min-height:54px;
  border-radius:14px;
  padding-inline:1.25rem;
  font-weight:850;
}
.dealer-search-main .button--ghost,
.dealer-card__actions .button--ghost{
  border-color:#dadddf;
  background:#fff;
}
.dealer-search-main .button--ghost:hover,
.dealer-card__actions .button--ghost:hover{
  background:#f8f9fa;
}
.dealer-filters{
  margin-top:1.15rem;
  border-top:1px solid #ebecef;
  padding-top:1.15rem;
}
.dealer-filters>summary{
  display:flex;
  align-items:center;
  gap:.6rem;
  cursor:pointer;
  list-style:none;
  font-size:1.02rem;
  font-weight:900;
}
.dealer-filters>summary::-webkit-details-marker{display:none}
.dealer-filters>summary::before{
  content:"+";
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#f3f4f6;
  color:#14161a;
  font-size:1rem;
  font-weight:900;
}
.dealer-filters[open]>summary::before{content:"−"}
.dealer-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-top:1rem;
}
.dealer-product-filter{grid-column:span 2}
.dealer-filter-grid small,
.dealer-map-note,
.dealer-card p,
.dealer-empty p,
.dealer-results-heading p,
.dealer-product-list p{
  color:var(--muted);
}
.dealer-filter-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.15rem;
  padding-top:.2rem;
}
.dealer-filter-actions a{
  color:var(--orange-dark,#b55b00);
  font-weight:800;
  text-decoration:none;
}
.dealer-filter-actions a:hover{text-decoration:underline}

.notice-card.notice-card--warning{
  margin-top:1rem;
  padding:1rem 1.1rem;
  border:1px solid #f0c78a;
  border-radius:16px;
  background:linear-gradient(180deg,#fff8ee,#fffaf4);
}
.notice-card.notice-card--warning strong{
  display:block;
  margin-bottom:.2rem;
}
.notice-card.notice-card--warning p{margin:0}

.dealer-results-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin:2.7rem 0 1.2rem;
}
.dealer-results-heading h2{
  margin:.25rem 0 .35rem;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.dealer-results-heading p{
  margin:0;
  font-size:1rem;
}
.dealer-view-toggle{
  display:inline-flex;
  align-items:center;
  border:1px solid #dadde1;
  border-radius:999px;
  padding:4px;
  background:#fff;
  box-shadow:0 8px 24px rgba(17,20,26,.05);
}
.dealer-view-toggle button{
  border:0;
  background:transparent;
  border-radius:999px;
  min-width:58px;
  min-height:42px;
  padding:.55rem 1rem;
  color:inherit;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.dealer-view-toggle button.is-active{
  background:#101217;
  color:#fff;
}

.dealer-results{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
.dealer-card{
  position:relative;
  overflow:hidden;
  border:1px solid #e0e2e6;
  background:linear-gradient(180deg,#fff 0%,#fcfcfd 100%);
  border-radius:22px;
  padding:1.4rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.dealer-card:hover{
  transform:translateY(-3px);
  border-color:#d6d9de;
  box-shadow:0 24px 60px rgba(17,20,26,.08),0 5px 16px rgba(17,20,26,.05);
}
.dealer-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--orange),#ffb14d);
  opacity:.92;
}
.dealer-card__top{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:1rem;
  align-items:start;
}
.dealer-card__top img,
.dealer-card__monogram{
  width:72px;
  height:72px;
  object-fit:contain;
  border:1px solid #e3e5e8;
  border-radius:18px;
  background:#fff;
  padding:.35rem;
}
.dealer-card__monogram{
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:1.65rem;
  background:linear-gradient(135deg,#fff5e6,#fff);
}
.dealer-card h3{
  margin:0;
  font-size:1.7rem;
  line-height:1.05;
  letter-spacing:-.04em;
}
.dealer-card h3 a{color:inherit;text-decoration:none}
.dealer-card h3 a:hover{color:var(--orange-dark)}
.dealer-card p{
  margin:.35rem 0 0;
  font-size:1rem;
  line-height:1.55;
}
.dealer-card__title-row{
  display:flex;
  gap:.65rem;
  align-items:center;
  flex-wrap:wrap;
}
.dealer-tier{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:999px;
  padding:.4rem .82rem;
  background:#f1f3f5;
  color:#15171b;
}
.dealer-tier--authorised{background:#f2f4f7}
.dealer-tier--premier{background:linear-gradient(180deg,#fff1d8,#ffe6bc)}
.dealer-distance{
  align-self:start;
  white-space:nowrap;
  font-size:1.5rem;
  font-weight:900;
  letter-spacing:-.04em;
  color:#0f1217;
}
.dealer-badges{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}
.dealer-badges span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  font-size:.82rem;
  border:1px solid #d9dde2;
  border-radius:999px;
  padding:.4rem .72rem;
  background:#fff;
  color:#32353b;
}
.dealer-badges--large span{
  min-height:38px;
  font-size:.92rem;
  padding:.5rem .84rem;
}
.dealer-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:auto;
}
.dealer-card__actions .button{min-width:148px}

.empty-state.dealer-empty{
  grid-column:1/-1;
  padding:3rem 1.4rem;
  border:1px dashed #d9dde2;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#fafbfc);
  text-align:center;
}
.dealer-empty h3{
  margin:0 0 .5rem;
  font-size:1.7rem;
  letter-spacing:-.04em;
}
.dealer-empty p{
  max-width:620px;
  margin:0 auto 1.25rem;
  line-height:1.65;
}
.dealer-map-panel{
  overflow:hidden;
  border:1px solid #dfe2e6;
  border-radius:24px;
  background:#fff;
}
.dealer-map{height:min(70vh,700px);min-height:440px}
.dealer-map-note{
  padding:1rem 1.2rem;
  margin:0;
  font-size:.82rem;
  background:#fafbfc;
  border-top:1px solid #eaecf0;
}
.dealer-map-unavailable{
  min-height:380px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:2rem;
}
.dealer-map-unavailable strong{display:block;font-size:1.3rem}
.dealer-map-unavailable p{margin:.5rem 0 0;opacity:.75}

.dealer-detail-hero{
  padding:2rem 0 1.35rem;
  background:linear-gradient(180deg,#fafbfc 0%,rgba(250,251,252,0) 100%);
}
.back-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--orange-dark,#b55b00);
  text-decoration:none;
  font-weight:850;
}
.back-link:hover{text-decoration:underline}
.dealer-detail-heading{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:1.3rem;
  align-items:center;
  margin-top:1.15rem;
}
.dealer-detail-heading img,
.dealer-detail-monogram{
  width:110px;
  height:110px;
  object-fit:contain;
  border:1px solid #e3e5e8;
  border-radius:22px;
  background:#fff;
  padding:.45rem;
  box-shadow:0 14px 40px rgba(17,20,26,.05);
}
.dealer-detail-monogram{
  display:grid;
  place-items:center;
  padding:0;
  font-size:2.4rem;
  font-weight:900;
  background:linear-gradient(135deg,#fff5e6,#fff);
}
.dealer-detail-heading h1{
  margin:.35rem 0 .5rem;
  font-size:clamp(3rem,6vw,5.3rem);
  line-height:.93;
  letter-spacing:-.06em;
}
.dealer-detail-heading p{
  margin:0;
  color:var(--muted);
  font-size:1.05rem;
}
.dealer-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:1.4rem;
  padding-bottom:4.5rem;
  align-items:start;
}
.dealer-detail-main{
  display:grid;
  gap:1rem;
}
.dealer-detail-image{
  width:100%;
  max-height:560px;
  object-fit:cover;
  border-radius:26px;
  box-shadow:0 26px 65px rgba(17,20,26,.08),0 6px 16px rgba(17,20,26,.04);
}
.dealer-detail-main>.panel{
  padding:1.65rem;
  border-radius:22px;
}
.dealer-detail-main>.panel h2{
  margin:0 0 .75rem;
  font-size:1.6rem;
  letter-spacing:-.03em;
}
.dealer-detail-main>.panel>p{
  margin:0 0 1rem;
  line-height:1.7;
  color:var(--muted);
}
.dealer-contact-card{
  position:sticky;
  top:1rem;
  align-self:start;
  border:1px solid #dde1e6;
  border-radius:22px;
  padding:1.5rem;
  background:linear-gradient(180deg,#fff 0%,#fcfcfd 100%);
  display:grid;
  gap:1rem;
}
.dealer-contact-card h2{
  margin:-.15rem 0 0;
  font-size:1.7rem;
  letter-spacing:-.03em;
}
.dealer-contact-card address{
  font-style:normal;
  line-height:1.75;
  color:#333842;
}
.dealer-contact-card a{
  color:#17191d;
  text-decoration:none;
  font-weight:700;
}
.dealer-contact-card a:not(.button):hover{color:var(--orange-dark)}
.dealer-product-list{
  display:grid;
  gap:.8rem;
}
.dealer-product-list a{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:.85rem;
  align-items:start;
  padding:.95rem 1rem;
  border:1px solid #dde1e6;
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.dealer-product-list a:hover{
  transform:translateY(-2px);
  border-color:#d1d6dc;
  box-shadow:0 16px 40px rgba(17,20,26,.06);
}
.dealer-product-list strong{
  color:var(--orange-dark);
}
.dealer-product-list span{
  line-height:1.5;
}

@media (max-width:1024px){
  .dealer-hero__inner,
  .dealer-detail-grid{grid-template-columns:1fr}
  .dealer-hero__badge{
    text-align:left;
    width:max-content;
    min-width:0;
  }
  .dealer-results{grid-template-columns:1fr}
  .dealer-detail-heading h1{font-size:clamp(2.75rem,10vw,4.5rem)}
  .dealer-contact-card{position:static}
}
@media (max-width:900px){
  .dealer-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dealer-product-filter{grid-column:span 2}
}
@media (max-width:720px){
  .dealer-locator{margin-top:-3rem}
  .dealer-search-card{padding:1rem}
  .dealer-search-main{grid-template-columns:1fr}
  .dealer-search-main .button{width:100%}
  .dealer-results-heading{
    align-items:start;
    flex-direction:column;
  }
  .dealer-view-toggle{align-self:flex-start}
  .dealer-card__top{grid-template-columns:60px minmax(0,1fr)}
  .dealer-card__top img,.dealer-card__monogram{width:60px;height:60px;border-radius:16px}
  .dealer-distance{grid-column:2;font-size:1.25rem}
  .dealer-card__actions .button{flex:1;min-width:0}
  .dealer-detail-heading{grid-template-columns:1fr}
  .dealer-detail-heading img{width:92px;height:92px}
}
@media (max-width:560px){
  .dealer-hero{padding-top:2.5rem;padding-bottom:4rem}
  .dealer-hero h1{font-size:clamp(2.5rem,14vw,4rem)}
  .dealer-hero p{font-size:1rem}
  .dealer-filter-grid{grid-template-columns:1fr}
  .dealer-product-filter{grid-column:auto}
  .dealer-card{padding:1.1rem 1rem 1rem}
  .dealer-card h3{font-size:1.45rem}
  .dealer-card__actions{flex-direction:column}
  .dealer-product-list a{grid-template-columns:1fr}
  .dealer-detail-main>.panel,
  .dealer-contact-card{padding:1.2rem}
}

/* Dealer Locator 1.2 refinements */
.dealer-hero__inner{display:block;max-width:1240px}
.dealer-hero__badge{display:none!important}
.dealer-hero h1{max-width:900px}

.dealer-location-status{
  margin:.85rem 0 0;
  padding:.8rem .95rem;
  border-radius:12px;
  font-size:.9rem;
  line-height:1.5;
  font-weight:650;
}
.dealer-location-status.is-info{border:1px solid #d8e2ee;background:#f5f8fb;color:#3e4b59}
.dealer-location-status.is-success{border:1px solid #b8dec9;background:#f0faf5;color:#17623b}
.dealer-location-status.is-error{border:1px solid #efc3a4;background:#fff6ef;color:#7d3e14}
.dealer-search-main [data-use-location]:disabled{opacity:.68;cursor:wait}

.dealer-card__top{grid-template-columns:138px minmax(0,1fr) auto;align-items:center}
.dealer-logo-stage{
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #e1e4e8;
  background:var(--dealer-logo-bg,#f4f5f7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  transition:background-color .2s ease,background .2s ease;
}
.dealer-logo-stage--card{
  width:138px;
  height:82px;
  border-radius:16px;
  padding:8px 10px;
}
.dealer-logo-stage--detail{
  width:190px;
  height:122px;
  border-radius:22px;
  padding:12px 14px;
  box-shadow:0 14px 40px rgba(17,20,26,.06),inset 0 1px 0 rgba(255,255,255,.9);
}
.dealer-logo-stage img,
.dealer-card__top .dealer-logo-stage img,
.dealer-detail-heading .dealer-logo-stage img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:100%;
  max-height:100%;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain;
  object-position:center;
}
.dealer-logo-stage .dealer-card__monogram,
.dealer-logo-stage .dealer-detail-monogram{
  display:grid;
  place-items:center;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:2rem;
  font-weight:900;
}
.dealer-logo-stage--detail .dealer-detail-monogram{font-size:3rem}
.dealer-business-types{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:.55rem;
}
.dealer-business-types span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.32rem .68rem;
  border-radius:999px;
  background:#fff3e3;
  color:#8b4700;
  font-size:.75rem;
  font-weight:850;
}
.dealer-tier{min-height:30px;padding:.34rem .68rem;font-size:.7rem;color:#555b64;background:#f1f3f5}

.dealer-detail-heading{grid-template-columns:190px minmax(0,1fr);align-items:center}
.dealer-detail-heading>div:last-child>.dealer-tier{display:inline-flex;margin:.15rem 0 .55rem}

@media(max-width:1024px){
  .dealer-detail-heading{grid-template-columns:170px minmax(0,1fr)}
  .dealer-logo-stage--detail{width:170px;height:110px}
}
@media(max-width:720px){
  .dealer-card__top{grid-template-columns:104px minmax(0,1fr);align-items:start}
  .dealer-logo-stage--card{width:104px;height:68px;padding:7px 8px}
  .dealer-distance{grid-column:2}
  .dealer-detail-heading{grid-template-columns:1fr}
  .dealer-logo-stage--detail{width:min(190px,60vw);height:110px}
}
@media(max-width:500px){
  .dealer-card__top{grid-template-columns:88px minmax(0,1fr)}
  .dealer-logo-stage--card{width:88px;height:62px}
  .dealer-business-types span{font-size:.7rem}
}

/* Dealer Locator 1.3: dealer detail map + optional what3words */
.dealer-contact-actions{
  display:grid;
  gap:.7rem;
  margin-top:.15rem;
}
.dealer-contact-actions .button{
  width:100%;
  min-height:52px;
  justify-content:center;
}
.dealer-contact-actions .button--ghost{
  border-color:#d7dbe0;
  background:#fff;
}
.dealer-contact-actions .button--ghost:hover{
  border-color:#c8cdd3;
  background:#f7f8f9;
}
.dealer-w3w{
  display:grid;
  gap:.22rem;
  margin:.15rem 0 .1rem;
  padding:.85rem .95rem;
  border:1px solid #e1e4e8;
  border-radius:13px;
  background:#f7f8fa;
}
.dealer-w3w>span{
  color:#7b8088;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.dealer-w3w>a{
  color:#17191d!important;
  font-size:1rem;
  font-weight:850!important;
  overflow-wrap:anywhere;
}
.dealer-w3w>a:hover{color:var(--orange-dark)!important}
.dealer-detail-map-section{
  margin-top:-2.75rem;
  margin-bottom:4.5rem;
  scroll-margin-top:90px;
  overflow:hidden;
  border:1px solid #dde1e6;
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 60px rgba(17,20,26,.07),0 4px 14px rgba(17,20,26,.04);
}
.dealer-detail-map-section[hidden]{display:none!important}
.dealer-detail-map-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1.2rem;
  padding:1.45rem 1.55rem 1.25rem;
  border-bottom:1px solid #e8eaed;
  background:linear-gradient(180deg,#fff,#fafbfc);
}
.dealer-detail-map-heading h2{
  margin:.28rem 0 .25rem;
  font-size:clamp(1.55rem,2.6vw,2.25rem);
  line-height:1.05;
  letter-spacing:-.04em;
}
.dealer-detail-map-heading p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.dealer-detail-map-heading .button{
  flex:0 0 auto;
  min-height:44px;
  border-radius:12px;
}
.dealer-detail-map{
  width:100%;
  height:min(62vh,590px);
  min-height:430px;
  border-radius:0;
}
.dealer-map-w3w{
  display:inline-block;
  margin-top:.25rem;
  color:#b55b00;
  font-weight:800;
}
@media(max-width:720px){
  .dealer-detail-map-section{margin-top:-2.5rem;margin-bottom:3rem;border-radius:18px}
  .dealer-detail-map-heading{align-items:flex-start;flex-direction:column;padding:1.15rem}
  .dealer-detail-map-heading .button{width:100%}
  .dealer-detail-map{min-height:360px;height:55vh}
}


/* Dealer Locator 1.3.2: adaptive logo backgrounds */
.dealer-logo-stage[data-logo-auto="1"]{
  --dealer-logo-bg:#f4f5f7;
}
.dealer-logo-stage[data-logo-tone="light"]{
  --dealer-logo-bg:#17191d;
  border-color:#2c3038;
}
.dealer-logo-stage[data-logo-tone="dark"]{
  --dealer-logo-bg:#ffffff;
}
.dealer-logo-stage[data-logo-tone="mixed"]{
  --dealer-logo-bg:#f2f3f5;
}


/* Dealer Locator 1.3.4: calmer public cards + compact detail capabilities */
.dealer-card__identity{min-width:0}
.dealer-card__identity>p{margin-top:.5rem}
.dealer-card__services{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.45rem;
  padding-top:.15rem;
}
.dealer-card__services span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.35rem .68rem;
  border:1px solid #dde1e5;
  border-radius:999px;
  background:#fff;
  color:#3c4149;
  font-size:.78rem;
}
.dealer-card__services a{
  color:var(--orange-dark,#b55b00);
  font-size:.78rem;
  font-weight:850;
  text-decoration:none;
}
.dealer-card__services a:hover{text-decoration:underline}
.dealer-business-types__more{background:#f4f5f7!important;color:#676c75!important}

.dealer-detail-heading__copy{
  min-width:0;
  padding:.2rem 0;
}
.dealer-detail-heading__copy h1{
  max-width:100%;
  margin:.4rem 0 .75rem;
  font-size:clamp(2.65rem,4.65vw,4.8rem);
  line-height:1.02;
  letter-spacing:-.055em;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.dealer-detail-heading__copy>p{
  position:relative;
  z-index:1;
  margin:0;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.5;
}

.dealer-capability-panel{scroll-margin-top:100px}
.dealer-capability-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.9rem;
}
.dealer-capability-heading h2{margin:0!important}
.dealer-capability-heading>span{
  flex:0 0 auto;
  color:#8a8f97;
  font-size:.78rem;
  font-weight:800;
}
.dealer-capability-preview{margin-bottom:0}
.dealer-capability-more{
  margin-top:1rem;
  border-top:1px solid #eceef1;
  padding-top:.8rem;
}
.dealer-capability-more>summary{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  cursor:pointer;
  list-style:none;
  color:var(--orange-dark,#b55b00);
  font-size:.85rem;
  font-weight:850;
}
.dealer-capability-more>summary::-webkit-details-marker{display:none}
.dealer-capability-more>summary::after{content:"+";font-size:1.05rem;font-weight:900}
.dealer-capability-more[open]>summary::after{content:"−"}
.dealer-capability-more>.dealer-badges{margin-top:.9rem}

@media(max-width:720px){
  .dealer-detail-heading__copy h1{font-size:clamp(2.4rem,11vw,3.6rem);line-height:1.04}
  .dealer-capability-heading{align-items:flex-start;flex-direction:column;gap:.25rem}
}

/* Dealer Locator 1.4.0: researched directory-style public UX */
.dealer-card__services{display:none!important}
.dealer-card__service-line{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.7rem;
  align-items:baseline;
  padding-top:.15rem;
  color:#666c75;
  font-size:.82rem;
  line-height:1.55;
}
.dealer-card__service-line strong{
  color:#30343b;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.dealer-card__service-line span{min-width:0}
.dealer-card__service-line a{
  color:var(--orange-dark,#b55b00);
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}
.dealer-card__service-line a:hover{text-decoration:underline}

.dealer-detail-heading{align-items:start}
.dealer-detail-heading__copy{padding:.15rem 0 .3rem}
.dealer-detail-heading__copy h1{
  margin:.42rem 0 .7rem;
  font-size:clamp(2.55rem,4.35vw,4.55rem);
  line-height:1.08;
  letter-spacing:-.05em;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.dealer-detail-heading__copy>p{
  margin:0;
  line-height:1.6;
}

.dealer-about-panel,
.dealer-services-panel,
.dealer-coverage-panel,
.dealer-specific-products{
  padding:1.7rem 1.8rem!important;
}
.dealer-about-panel h2{margin:.3rem 0 .75rem!important}
.dealer-about-panel>p{margin:0!important}
.dealer-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.25rem;
  margin-bottom:1.15rem;
}
.dealer-section-heading h2{
  margin:.28rem 0 0!important;
  font-size:1.75rem!important;
  letter-spacing:-.035em;
}
.dealer-section-heading p{
  max-width:680px;
  margin:.5rem 0 0!important;
  color:var(--muted);
  line-height:1.6;
}
.dealer-section-count{
  flex:0 0 auto;
  padding:.42rem .7rem;
  border-radius:999px;
  background:#f3f4f6;
  color:#6d737c;
  font-size:.75rem;
  font-weight:850;
}

.dealer-service-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid #e7e9ec;
}
.dealer-service-list>span{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  align-items:center;
  gap:.55rem;
  min-height:52px;
  padding:.7rem .25rem;
  border-bottom:1px solid #e7e9ec;
  color:#282c33;
  line-height:1.45;
}
.dealer-service-list>span:nth-child(odd){padding-right:1rem}
.dealer-service-list>span:nth-child(even){padding-left:1rem;border-left:1px solid #e7e9ec}
.dealer-service-list i{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff2df;
  color:#a75400;
  font-size:.72rem;
  font-style:normal;
  font-weight:900;
}

.dealer-coverage-panel{overflow:hidden}
.dealer-coverage-panel>.dealer-section-heading{margin-bottom:.35rem}
.dealer-directory-disclosure{
  border-top:1px solid #e5e8eb;
}
.dealer-directory-disclosure:last-child{border-bottom:1px solid #e5e8eb}
.dealer-directory-disclosure>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  min-height:92px;
  padding:1rem .15rem;
  cursor:pointer;
  list-style:none;
}
.dealer-directory-disclosure>summary::-webkit-details-marker{display:none}
.dealer-directory-disclosure>summary>div{
  display:grid;
  grid-template-columns:minmax(125px,.35fr) minmax(90px,.18fr) minmax(0,1fr);
  gap:.85rem 1.2rem;
  align-items:baseline;
  min-width:0;
}
.dealer-directory-disclosure>summary span{
  color:#1c1f24;
  font-weight:900;
}
.dealer-directory-disclosure>summary strong{
  color:#727780;
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}
.dealer-directory-disclosure>summary small{
  min-width:0;
  color:#7a7f87;
  font-size:.82rem;
  line-height:1.5;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dealer-directory-disclosure>summary>b{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:var(--orange-dark,#b55b00);
  font-size:.82rem;
  font-weight:900;
  white-space:nowrap;
}
.dealer-directory-disclosure>summary>b::after{content:"+";font-size:1.05rem}
.dealer-directory-disclosure[open]>summary>b::after{content:"−"}
.dealer-directory-disclosure[open]>summary>b{font-size:0}
.dealer-directory-disclosure[open]>summary>b::before{content:"Close";font-size:.82rem}
.dealer-directory-body{
  padding:0 .15rem 1.15rem;
}
.dealer-directory-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:0;
  padding:0;
  border-top:1px solid #eceef0;
  list-style:none;
}
.dealer-directory-grid li{
  min-width:0;
  padding:.72rem .65rem .72rem 0;
  border-bottom:1px solid #eceef0;
  color:#3d4249;
  line-height:1.45;
}
.dealer-directory-grid li::before{
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  margin:0 .55rem .12rem 0;
  border-radius:50%;
  background:#b9bec5;
}

/* Supersede the old pill capability panels if a cached view still renders them. */
.dealer-capability-panel{display:none!important}

@media(max-width:900px){
  .dealer-directory-disclosure>summary>div{grid-template-columns:minmax(120px,.4fr) minmax(80px,.2fr) minmax(0,1fr)}
  .dealer-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .dealer-detail-heading__copy h1{font-size:clamp(2.25rem,10vw,3.35rem);line-height:1.1}
  .dealer-about-panel,.dealer-services-panel,.dealer-coverage-panel,.dealer-specific-products{padding:1.3rem!important}
  .dealer-section-heading{align-items:flex-start;flex-direction:column;gap:.6rem}
  .dealer-service-list{grid-template-columns:1fr}
  .dealer-service-list>span:nth-child(odd),.dealer-service-list>span:nth-child(even){padding-left:.15rem;padding-right:.15rem;border-left:0}
  .dealer-directory-disclosure>summary{align-items:flex-start;grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:1rem 0}
  .dealer-directory-disclosure>summary>div{grid-template-columns:1fr;gap:.2rem}
  .dealer-directory-disclosure>summary small{white-space:normal}
  .dealer-directory-grid{grid-template-columns:1fr}
  .dealer-card__service-line{grid-template-columns:1fr;gap:.15rem}
}

/* Dealer Locator 1.5.0: final public polish */
.dealer-start-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin:2rem 0 0;
  padding:1.7rem 1.8rem;
  border:1px solid #e0e3e7;
  border-radius:20px;
  background:#fff;
}
.dealer-start-panel h2{
  margin:.35rem 0 .45rem;
  font-size:clamp(1.45rem,2.4vw,2rem);
  letter-spacing:-.035em;
}
.dealer-start-panel p{
  max-width:720px;
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.dealer-start-panel .button{flex:0 0 auto;white-space:nowrap}

.dealer-product-context{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
  margin-top:1rem;
  padding:1rem 1.1rem;
  border:1px solid #f0cf9f;
  border-radius:14px;
  background:#fff9f0;
}
.dealer-product-context>div{display:grid;gap:.15rem}
.dealer-product-context span{
  color:#a85500;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.dealer-product-context strong{font-size:1rem}
.dealer-product-context small{color:#6f747c;line-height:1.45}
.dealer-product-context>a{color:var(--orange-dark,#b55b00);font-weight:850;text-decoration:none;white-space:nowrap}
.dealer-product-context>a:hover{text-decoration:underline}

.dealer-card__actions{align-items:center}
.dealer-card__actions .button{min-width:0}
.dealer-card__call,
.dealer-card__directions{background:#f5f6f7;border-color:#dfe2e6;color:#17191d}
.dealer-card__call:hover,
.dealer-card__directions:hover{background:#eceef1}

.dealer-services-panel .dealer-section-count,
.dealer-coverage-panel .dealer-section-count{min-width:34px;text-align:center}
.dealer-service-more{
  margin-top:.85rem;
  border-top:1px solid #e7e9ec;
  padding-top:.8rem;
}
.dealer-service-more>summary{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  cursor:pointer;
  list-style:none;
  color:var(--orange-dark,#b55b00);
  font-size:.82rem;
  font-weight:850;
}
.dealer-service-more>summary::-webkit-details-marker{display:none}
.dealer-service-more>summary::after{content:"+";font-weight:900}
.dealer-service-more[open]>summary::after{content:"−"}
.dealer-service-list--more{margin-top:.75rem}

/* Product coverage is now deliberately directory-like: label, count, reveal. */
.dealer-coverage-panel>.dealer-section-heading{margin-bottom:.65rem}
.dealer-directory-disclosure>summary{
  grid-template-columns:minmax(0,1fr) auto auto;
  min-height:66px;
  padding:.8rem .15rem;
}
.dealer-directory-disclosure>summary>span{
  min-width:0;
  font-size:.98rem;
}
.dealer-directory-disclosure>summary>strong{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:30px;
  padding:0 .55rem;
  border-radius:999px;
  background:#f3f4f6;
  color:#6d737c;
  font-size:.75rem;
  font-weight:850;
}
.dealer-directory-disclosure>summary>b{min-width:58px;justify-content:flex-end}
.dealer-directory-disclosure[open]>summary>b::before{content:"Hide"}
.dealer-directory-disclosure[open]>summary>b::after{content:"−"}
.dealer-directory-body{padding-top:.15rem}

/* Dealer pages use a customer-facing footer, not NewsBlast admin/email housekeeping. */
.footer-grid--dealer{grid-template-columns:2fr 1fr}

@media(max-width:900px){
  .footer-grid--dealer{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .dealer-start-panel{align-items:flex-start;flex-direction:column;gap:1rem;padding:1.3rem}
  .dealer-start-panel .button{width:100%}
  .dealer-product-context{align-items:flex-start;flex-direction:column}
  .dealer-card__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .dealer-card__actions .button{width:100%;text-align:center}
  .dealer-directory-disclosure>summary{grid-template-columns:minmax(0,1fr) auto auto;gap:.65rem}
}
@media(max-width:560px){
  .dealer-card__actions{grid-template-columns:1fr}
  .footer-grid--dealer{grid-template-columns:1fr}
}
@media(min-width:1050px){
  .dealer-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}


/* Dealer Locator 1.5.1: stronger distance treatment */
.dealer-distance{
  align-self:start;
  display:grid;
  min-width:92px;
  padding:.62rem .75rem .58rem;
  border:1px solid #ffd3a0;
  border-radius:14px;
  background:#fff5e8;
  color:#17191d;
  text-align:center;
  white-space:nowrap;
  box-shadow:0 4px 14px rgba(17,20,26,.04);
}
.dealer-distance__value{
  display:block;
  font-size:1.45rem;
  line-height:1;
  font-weight:950;
  letter-spacing:-.045em;
}
.dealer-distance__label{
  display:block;
  margin-top:.28rem;
  color:#a35200;
  font-size:.68rem;
  line-height:1.1;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
}
@media(max-width:720px){
  .dealer-distance{
    grid-column:2;
    justify-self:start;
    display:inline-flex;
    align-items:baseline;
    gap:.35rem;
    min-width:0;
    margin-top:.15rem;
    padding:.45rem .62rem;
    border-radius:11px;
    text-align:left;
  }
  .dealer-distance__value{font-size:1.12rem}
  .dealer-distance__label{margin:0;font-size:.63rem}
}

/* Dealer Locator 1.5.2: remove redundant counts and make coverage rows useful */
.dealer-services-panel .dealer-section-count{display:none!important}
.dealer-coverage-panel>.dealer-section-heading{margin-bottom:.35rem}
.dealer-directory-disclosure>summary,
.dealer-directory-row{
  display:grid;
  grid-template-columns:minmax(120px,.28fr) minmax(0,1fr) auto;
  gap:1rem 1.35rem;
  align-items:center;
  min-height:70px;
  padding:.9rem .15rem;
  border-top:1px solid #e5e8eb;
}
.dealer-directory-row:last-child,
.dealer-directory-disclosure:last-child{border-bottom:1px solid #e5e8eb}
.dealer-directory-disclosure>summary>span,
.dealer-directory-row>span{
  color:#1c1f24;
  font-size:.95rem;
  font-weight:900;
}
.dealer-directory-preview{
  min-width:0;
  color:#6f747d;
  font-size:.84rem;
  line-height:1.5;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dealer-directory-disclosure>summary>b{
  min-width:112px;
  justify-content:flex-end;
  color:var(--orange-dark,#b55b00);
  font-size:.82rem;
  font-weight:900;
  white-space:nowrap;
}
.dealer-directory-disclosure>summary>b::after{content:" +";font-size:1em}
.dealer-directory-disclosure[open]>summary>b{
  font-size:0;
}
.dealer-directory-disclosure[open]>summary>b::before{
  content:"Hide";
  font-size:.82rem;
}
.dealer-directory-disclosure[open]>summary>b::after{
  content:" −";
  font-size:.82rem;
}
.dealer-directory-disclosure>summary>strong{display:none!important}
.dealer-service-more>summary{font-weight:900}
.dealer-service-more>summary::after{content:" +"}
.dealer-service-more[open]>summary::after{content:" −"}

@media(max-width:720px){
  .dealer-directory-disclosure>summary,
  .dealer-directory-row{
    grid-template-columns:1fr auto;
    gap:.25rem .75rem;
    align-items:start;
    padding:1rem 0;
  }
  .dealer-directory-preview{
    grid-column:1/-1;
    grid-row:2;
    white-space:normal;
  }
  .dealer-directory-disclosure>summary>b{
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
}
/* Exact disclosure wording: the link text already contains the +N count. */
.dealer-directory-disclosure:not([open])>summary>b::after{content:""}
.dealer-service-more:not([open])>summary::after{content:""}
.dealer-service-more[open]>summary{font-size:0}
.dealer-service-more[open]>summary::before{content:"Hide additional services";font-size:.82rem}
.dealer-service-more[open]>summary::after{content:" −";font-size:.82rem}


/* Dealer Locator 1.5.3: native NewsBlast dark-mode support */
html[data-theme="dark"] .dealer-search-card,
html[data-theme="dark"] .dealer-map-panel,
html[data-theme="dark"] .dealer-card,
html[data-theme="dark"] .dealer-contact-card,
html[data-theme="dark"] .dealer-detail-main>.panel,
html[data-theme="dark"] .dealer-detail-map-section,
html[data-theme="dark"] .dealer-start-panel,
html[data-theme="dark"] .dealer-about-panel,
html[data-theme="dark"] .dealer-services-panel,
html[data-theme="dark"] .dealer-coverage-panel,
html[data-theme="dark"] .dealer-specific-products{
  border-color:var(--border);
  background:var(--surface);
  color:var(--text);
  box-shadow:0 18px 46px rgba(0,0,0,.18),0 3px 10px rgba(0,0,0,.12);
}
html[data-theme="dark"] .dealer-detail-hero{
  background:linear-gradient(180deg,var(--surface-soft) 0%,rgba(32,36,42,0) 100%);
}
html[data-theme="dark"] .dealer-search-main label span,
html[data-theme="dark"] .dealer-filter-grid label span,
html[data-theme="dark"] .dealer-card h3,
html[data-theme="dark"] .dealer-card h3 a,
html[data-theme="dark"] .dealer-detail-heading__copy h1,
html[data-theme="dark"] .dealer-contact-card h2,
html[data-theme="dark"] .dealer-section-heading h2,
html[data-theme="dark"] .dealer-directory-disclosure>summary>span,
html[data-theme="dark"] .dealer-directory-row>span,
html[data-theme="dark"] .dealer-service-list>span,
html[data-theme="dark"] .dealer-product-list a{
  color:var(--text);
}
html[data-theme="dark"] .dealer-filter-grid small,
html[data-theme="dark"] .dealer-map-note,
html[data-theme="dark"] .dealer-card p,
html[data-theme="dark"] .dealer-empty p,
html[data-theme="dark"] .dealer-results-heading p,
html[data-theme="dark"] .dealer-product-list p,
html[data-theme="dark"] .dealer-detail-heading__copy>p,
html[data-theme="dark"] .dealer-detail-map-heading p,
html[data-theme="dark"] .dealer-section-heading p,
html[data-theme="dark"] .dealer-directory-preview,
html[data-theme="dark"] .dealer-directory-disclosure>summary small,
html[data-theme="dark"] .dealer-start-panel p{
  color:var(--text-muted);
}
html[data-theme="dark"] .dealer-search-main input,
html[data-theme="dark"] .dealer-filter-grid input,
html[data-theme="dark"] .dealer-filter-grid select{
  border-color:var(--border);
  background:#111419;
  color:var(--text);
}
html[data-theme="dark"] .dealer-search-main input::placeholder,
html[data-theme="dark"] .dealer-filter-grid input::placeholder{color:#7f8792}
html[data-theme="dark"] .dealer-filters{border-top-color:var(--border)}
html[data-theme="dark"] .dealer-filters>summary{color:var(--text)}
html[data-theme="dark"] .dealer-filters>summary::before{
  background:var(--surface-soft);
  color:var(--text);
}
html[data-theme="dark"] .dealer-search-main .button--ghost,
html[data-theme="dark"] .dealer-card__actions .button--ghost,
html[data-theme="dark"] .dealer-contact-actions .button--ghost{
  border-color:var(--border);
  background:var(--surface-soft);
  color:var(--text);
}
html[data-theme="dark"] .dealer-search-main .button--ghost:hover,
html[data-theme="dark"] .dealer-card__actions .button--ghost:hover,
html[data-theme="dark"] .dealer-contact-actions .button--ghost:hover{
  border-color:#4a515b;
  background:#292e35;
}
html[data-theme="dark"] .dealer-view-toggle{
  border-color:var(--border);
  background:var(--surface);
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
html[data-theme="dark"] .dealer-view-toggle button{color:var(--text-muted)}
html[data-theme="dark"] .dealer-view-toggle button.is-active{
  background:var(--theme-accent);
  color:#111318;
}
html[data-theme="dark"] .dealer-card{
  background:var(--surface);
  border-color:var(--border);
}
html[data-theme="dark"] .dealer-card:hover{
  border-color:#4a515b;
  background:#1a1e23;
  box-shadow:0 24px 60px rgba(0,0,0,.22),0 5px 16px rgba(0,0,0,.14);
}
html[data-theme="dark"] .dealer-card__monogram,
html[data-theme="dark"] .dealer-detail-monogram{
  border-color:var(--border);
  color:var(--text);
  background:var(--surface-soft);
}
html[data-theme="dark"] .dealer-business-types span{
  background:#352611;
  color:#ffc875;
}
html[data-theme="dark"] .dealer-business-types__more{
  background:var(--surface-soft)!important;
  color:var(--text-muted)!important;
}
html[data-theme="dark"] .dealer-badges span{
  border-color:var(--border);
  background:var(--surface-soft);
  color:var(--text);
}
html[data-theme="dark"] .dealer-card__call,
html[data-theme="dark"] .dealer-card__directions{
  border-color:var(--border);
  background:var(--surface-soft);
  color:var(--text);
}
html[data-theme="dark"] .dealer-card__call:hover,
html[data-theme="dark"] .dealer-card__directions:hover{background:#292e35}
html[data-theme="dark"] .dealer-distance{
  border-color:#70481d;
  background:#2c2115;
  color:#fff4e5;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
}
html[data-theme="dark"] .dealer-distance__label{color:#ffb65d}
html[data-theme="dark"] .dealer-contact-card address{color:var(--text-muted)}
html[data-theme="dark"] .dealer-contact-card>a:not(.button){color:var(--text)}
html[data-theme="dark"] .dealer-w3w{
  border-color:var(--border);
  background:var(--surface-soft);
}
html[data-theme="dark"] .dealer-w3w>span{color:var(--text-muted)}
html[data-theme="dark"] .dealer-w3w>a{color:var(--text)!important}
html[data-theme="dark"] .dealer-w3w>a:hover,
html[data-theme="dark"] .dealer-map-w3w,
html[data-theme="dark"] .dealer-filter-actions a,
html[data-theme="dark"] .dealer-service-more>summary,
html[data-theme="dark"] .dealer-directory-disclosure>summary>b,
html[data-theme="dark"] .back-link{
  color:var(--theme-accent)!important;
}
html[data-theme="dark"] .dealer-detail-map-section{background:var(--surface)}
html[data-theme="dark"] .dealer-detail-map-heading{
  border-bottom-color:var(--border);
  background:linear-gradient(180deg,var(--surface),var(--surface-soft));
}
html[data-theme="dark"] .dealer-service-list,
html[data-theme="dark"] .dealer-service-list>span,
html[data-theme="dark"] .dealer-service-list>span:nth-child(even),
html[data-theme="dark"] .dealer-service-more,
html[data-theme="dark"] .dealer-directory-disclosure,
html[data-theme="dark"] .dealer-directory-disclosure:last-child,
html[data-theme="dark"] .dealer-directory-row,
html[data-theme="dark"] .dealer-directory-row:last-child,
html[data-theme="dark"] .dealer-directory-grid,
html[data-theme="dark"] .dealer-directory-grid li{
  border-color:var(--border);
}
html[data-theme="dark"] .dealer-service-list i{
  background:#352611;
  color:#ffc875;
}
html[data-theme="dark"] .dealer-directory-grid li{color:var(--text-muted)}
html[data-theme="dark"] .dealer-directory-grid li::before{background:#666e79}
html[data-theme="dark"] .dealer-product-list a{
  border-color:var(--border);
  background:var(--surface-soft);
}
html[data-theme="dark"] .dealer-product-list a:hover{border-color:#4a515b}
html[data-theme="dark"] .dealer-product-context{
  border-color:#70481d;
  background:#2b2116;
}
html[data-theme="dark"] .dealer-product-context span,
html[data-theme="dark"] .dealer-product-context>a{color:#ffc875}
html[data-theme="dark"] .dealer-product-context small{color:var(--text-muted)}
html[data-theme="dark"] .notice-card.notice-card--warning{
  border-color:#70481d;
  background:#2b2116;
  color:var(--text);
}
html[data-theme="dark"] .empty-state.dealer-empty{
  border-color:var(--border);
  background:var(--surface);
}
html[data-theme="dark"] .dealer-map-note{
  border-top-color:var(--border);
  background:var(--surface-soft);
}

/* Logo stages intentionally keep their selected/auto background colour in dark mode. */


/* Dealer Locator 1.5.7: compact Robbie fallback */
.dealer-robbie-fallback{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:.85rem;
  align-items:center;
  width:min(760px,100%);
  margin:0 0 1.25rem;
  padding:.9rem 1rem;
  border:1px solid color-mix(in srgb,var(--orange) 34%,var(--line));
  border-radius:16px;
  background:color-mix(in srgb,var(--orange) 6%,var(--surface));
}
.dealer-robbie-fallback__avatar,
.dealer-empty__robbie{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--orange);
  color:#111;
  font-size:14px;
  font-weight:950;
  line-height:1;
  box-shadow:0 6px 16px rgba(255,138,0,.16);
}
.dealer-robbie-fallback>div{
  position:relative;
  min-width:0;
}
.dealer-robbie-fallback>div::before{
  content:"";
  position:absolute;
  left:-18px;
  top:8px;
  width:10px;
  height:10px;
  background:color-mix(in srgb,var(--orange) 6%,var(--surface));
  border-left:1px solid color-mix(in srgb,var(--orange) 34%,var(--line));
  border-bottom:1px solid color-mix(in srgb,var(--orange) 34%,var(--line));
  transform:rotate(45deg);
}
.dealer-robbie-fallback strong{
  display:block;
  margin:0 0 .18rem;
  font-size:14px;
}
.dealer-robbie-fallback p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.dealer-empty--helpful{
  display:grid;
  justify-items:center;
  padding:3.2rem 1.4rem;
}
.dealer-empty--helpful .dealer-empty__robbie{margin-bottom:.75rem}
.dealer-empty--helpful p{max-width:650px}
.dealer-empty__actions{
  display:flex;
  justify-content:center;
  gap:.7rem;
  flex-wrap:wrap;
  margin-top:1.25rem;
}
@media(max-width:620px){
  .dealer-robbie-fallback{
    grid-template-columns:38px minmax(0,1fr);
    gap:.75rem;
    padding:.85rem;
  }
  .dealer-robbie-fallback__avatar{width:38px;height:38px;font-size:13px}
  .dealer-robbie-fallback>div::before{left:-16px;top:7px;width:9px;height:9px}
  .dealer-empty__actions{width:100%;flex-direction:column}
  .dealer-empty__actions .button{width:100%}
}
html[data-theme="dark"] .dealer-robbie-fallback{
  border-color:color-mix(in srgb,var(--orange) 42%,var(--border));
  background:color-mix(in srgb,var(--orange) 8%,var(--surface));
}
html[data-theme="dark"] .dealer-robbie-fallback>div::before{
  background:color-mix(in srgb,var(--orange) 8%,var(--surface));
  border-left-color:color-mix(in srgb,var(--orange) 42%,var(--border));
  border-bottom-color:color-mix(in srgb,var(--orange) 42%,var(--border));
}

.dealer-robbie-assistant{margin:12px 0 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.dealer-robbie-assistant>summary{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;list-style:none}.dealer-robbie-assistant>summary::-webkit-details-marker{display:none}.dealer-robbie-assistant>summary strong{font-size:13px}.dealer-robbie-assistant>summary>span:last-child{color:var(--muted);font-size:13px}.dealer-robbie-assistant>summary::after{content:'+';margin-left:auto;font-weight:900}.dealer-robbie-assistant[open]>summary::after{content:'−'}.dealer-robbie-assistant .dealer-robbie-fallback__avatar{width:36px;height:36px;flex:0 0 36px}.dealer-robbie-assistant__body{padding:0 14px 14px;border-top:1px solid var(--border)}.dealer-robbie-assistant .robbie-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}.dealer-robbie-assistant .robbie-inline-form input{min-width:0;min-height:42px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text)}.dealer-robbie-assistant .robbie-inline-messages:empty{display:none}.dealer-robbie-assistant .robbie-inline-messages{display:grid;gap:8px;margin-top:12px}.dealer-robbie-assistant .robbie-inline-messages .robbie-message{max-width:100%}.dealer-robbie-assistant .robbie-inline-messages .robbie-message>span{display:none}.dealer-robbie-assistant .robbie-inline-messages .robbie-message>div{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted);color:var(--text);box-shadow:none}.dealer-robbie-assistant .robbie-inline-messages .robbie-message p{font-size:13px;line-height:1.5}.dealer-robbie-assistant .robbie-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media(max-width:560px){.dealer-robbie-assistant .robbie-inline-form{grid-template-columns:1fr}.dealer-robbie-assistant .robbie-inline-form .button{width:100%}}


/* Dealer Locator 1.5.8: true map mode + Robbie typing treatment */
.dealer-results[hidden],
.dealer-map-panel[hidden]{
  display:none!important;
}
.dealer-map-panel{
  width:100%;
  margin-top:.2rem;
}
.dealer-map{
  min-height:520px;
}
.dealer-locator.is-map-view .dealer-robbie-fallback{
  margin-bottom:1rem;
}
.dealer-locator.is-map-view .dealer-map-panel{
  box-shadow:0 18px 52px rgba(17,20,26,.08);
}
.dealer-robbie-sr{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
[data-robbie-type].is-typing::after{
  content:"";
  display:inline-block;
  width:2px;
  height:1em;
  margin-left:3px;
  vertical-align:-.12em;
  background:var(--orange);
  animation:dealer-robbie-caret .72s steps(1,end) infinite;
}
.dealer-robbie-typing-dots{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:1em;
  vertical-align:middle;
}
.dealer-robbie-typing-dots i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  opacity:.25;
  animation:dealer-robbie-dot .9s ease-in-out infinite;
}
.dealer-robbie-typing-dots i:nth-child(2){animation-delay:.14s}
.dealer-robbie-typing-dots i:nth-child(3){animation-delay:.28s}
@keyframes dealer-robbie-dot{
  0%,60%,100%{transform:translateY(0);opacity:.22}
  30%{transform:translateY(-3px);opacity:.72}
}
@keyframes dealer-robbie-caret{
  0%,48%{opacity:1}
  49%,100%{opacity:0}
}
@media(max-width:720px){
  .dealer-map{min-height:400px;height:58vh}
}
@media(prefers-reduced-motion:reduce){
  .dealer-robbie-typing-dots i,
  [data-robbie-type].is-typing::after{animation:none}
}
html[data-theme="dark"] .dealer-locator.is-map-view .dealer-map-panel{
  box-shadow:0 18px 52px rgba(0,0,0,.24);
}


/* Dealer Locator 1.6.0: mobile Robbie handoff + tighter mobile result actions */
.dealer-results-heading{scroll-margin-top:16px}
.dealer-robbie-fallback p{min-height:1.55em}
@media(max-width:560px){
  .dealer-card__actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.65rem;
  }
  .dealer-card__actions .button:first-child{
    grid-column:1/-1;
  }
  .dealer-card__actions .button{
    min-height:56px;
  }
  .dealer-results-heading{scroll-margin-top:12px}
  .dealer-robbie-fallback{margin-bottom:1rem}
}


/* Dealer Locator 1.6.1: deliberate mobile result-card layout */
@media(max-width:560px){
  .dealer-results{
    gap:1rem;
  }
  .dealer-card{
    padding:1rem;
    gap:.8rem;
    border-radius:20px;
  }
  .dealer-card::before{
    width:3px;
  }
  .dealer-card__top{
    grid-template-columns:82px minmax(0,1fr);
    column-gap:.8rem;
    row-gap:.6rem;
    align-items:start;
  }
  .dealer-logo-stage--card{
    width:82px;
    height:64px;
    padding:7px;
    border-radius:14px;
  }
  .dealer-card h3{
    font-size:1.28rem;
    line-height:1.08;
    letter-spacing:-.035em;
  }
  .dealer-business-types{
    gap:.3rem;
    margin-top:.4rem;
  }
  .dealer-business-types span{
    min-height:25px;
    padding:.24rem .5rem;
    font-size:.64rem;
  }
  .dealer-business-types__more{
    font-size:.62rem!important;
  }
  .dealer-card__identity>p{
    margin-top:.4rem;
    font-size:.86rem;
    line-height:1.35;
  }
  .dealer-distance{
    grid-column:1/-1;
    justify-self:start;
    display:inline-flex;
    align-items:baseline;
    gap:.32rem;
    margin:0;
    padding:.38rem .58rem;
    border-radius:10px;
  }
  .dealer-distance__value{
    font-size:1.02rem;
  }
  .dealer-distance__label{
    font-size:.58rem;
  }
  .dealer-card__service-line{
    display:flex;
    align-items:baseline;
    gap:.5rem;
    margin:.15rem 0 0;
    padding-top:.7rem;
    border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  }
  .dealer-card__service-line strong{
    flex:0 0 auto;
    font-size:.66rem;
  }
  .dealer-card__service-line span{
    min-width:0;
    font-size:.78rem;
    line-height:1.35;
  }
  .dealer-card__actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:.5rem;
    width:100%;
    margin-top:.1rem;
  }
  .dealer-card__actions .button,
  .dealer-card__actions .button:first-child{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    padding:.65rem .4rem!important;
    border-radius:12px;
    font-size:.78rem;
    white-space:nowrap;
  }
}

@media(max-width:360px){
  .dealer-card__top{
    grid-template-columns:72px minmax(0,1fr);
    column-gap:.7rem;
  }
  .dealer-logo-stage--card{
    width:72px;
    height:58px;
  }
  .dealer-card h3{
    font-size:1.16rem;
  }
  .dealer-business-types span{
    padding:.22rem .42rem;
    font-size:.6rem;
  }
  .dealer-card__actions{
    gap:.4rem;
  }
  .dealer-card__actions .button,
  .dealer-card__actions .button:first-child{
    font-size:.72rem;
    padding:.6rem .25rem!important;
  }
}
.dealer-detail-hero .eyebrow,.dealer-detail-grid .eyebrow,.dealer-detail-map-section .eyebrow,.dealer-detail-hero .back-link{color:#9b4900}
.dealer-detail-image{aspect-ratio:16/9}
