.elementor .e-dc45074{flex-direction:column;body.single-car {
  --tcs-blue: #1D5D9B;
  --tcs-navy: #123B63;
  --tcs-red: #B4232A;
  --tcs-ink: #162536;
  --tcs-muted: #607286;
  --tcs-line: #D7E3EE;
  --tcs-sky: #E8F2FB;
  --tcs-page: #F4F8FC;
  --tcs-radius: 20px;
  background: var(--tcs-page);
}

/* ---------- Header/footer polish, native classes only ---------- */
body.single-car .site-header,
body.single-car #masthead {
  border-bottom: 1px solid var(--tcs-line);
  background: #FFFFFF;
}
body.single-car .site-footer {
  border-top: 1px solid var(--tcs-line);
  background: #FFFFFF;
}

/* ---------- Overall content frame ----------
   Real stream (per single-after-pass1.png) is one flat column of full-width
   widgets under main#main — no column split exists to hang layout CSS on.
   Cap and center the whole page-content width here instead. */
body.single-car .site-content,
body.single-car .entry-content,
body.single-car main#main {
  background: transparent;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px 56px;
  overflow-x: hidden;
}

/* ---------- Direct field widgets as white detail cards ----------
   Every ACF field renders as its own Heading or Text Editor widget.
   Matched by widget class rather than parent-chain position, so it
   doesn't depend on how deep Elementor nests each field's wrapper —
   excludes the post title widget and anything inside the Related Cars
   Loop Grid, which loop-card.css already styles. */
body.single-car .elementor-widget-heading:not(.elementor-widget-theme-post-title):not(.elementor-loop-container .elementor-widget-heading),
body.single-car .elementor-widget-text-editor:not(.elementor-loop-container .elementor-widget-text-editor) {
  display: block;
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1px solid var(--tcs-line);
  border-radius: 14px;
  padding: 14px 20px;
  margin: 0 0 14px;
}
body.single-car .elementor-widget-heading:not(.elementor-widget-theme-post-title):not(.elementor-loop-container .elementor-widget-heading) .elementor-heading-title,
body.single-car .elementor-widget-text-editor:not(.elementor-loop-container .elementor-widget-text-editor) .elementor-widget-container {
  color: var(--tcs-ink);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  word-break: break-word;
}

/* ---------- Gallery (kept in case a Featured Image / gallery widget is
   added per the "Single64 actual restructure" steps below — harmless
   no-op today since no such widget exists in the current stream) ---------- */
body.single-car .elementor-widget-image-gallery,
body.single-car .elementor-widget-image-carousel {
  border-radius: var(--tcs-radius);
  overflow: hidden;
  border: 1px solid var(--tcs-line);
  background: #FFFFFF;
}
body.single-car .elementor-widget-image-gallery img,
body.single-car .elementor-widget-image-carousel img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
}
body.single-car .elementor-image-gallery .gallery-item {
  border-radius: 12px;
  overflow: hidden;
}

/* ---------- Template 64 exact widget map ----------
   The live Elementor template is a single flat Flexbox (8e2a9ce). These
   stable Elementor IDs create a deliberate detail grid without touching
   dynamic field values or adding wrapper markup. */
body.single-car .elementor-element-8e2a9ce {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch;
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 32px 0 56px;
  background: transparent;
}
body.single-car .elementor-element-8e2a9ce > .elementor-element {
  min-width: 0;
  margin: 0 !important;
}

body.single-car .elementor-element-3794c90,
body.single-car .elementor-element-a4fa5c6,
body.single-car .elementor-element-49e362b,
body.single-car .elementor-element-3a788e4,
body.single-car .elementor-element-22db745,
body.single-car .elementor-element-37f874c,
body.single-car .elementor-element-d48c15b,
body.single-car .elementor-element-0404524,
body.single-car .elementor-element-06fe486 {
  grid-column: 1 / -1;
}

body.single-car .elementor-element-a4fa5c6 {
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid var(--tcs-line);
  border-radius: var(--tcs-radius);
  background: #FFFFFF;
}
body.single-car .elementor-element-a4fa5c6 img {
  display: block;
  width: 100%;
  max-height: 560px;
  aspect-ratio: 16 / 8;
  object-fit: cover;
}

body.single-car .elementor-element-02e5166 {
  grid-column: 1 / -1;
  justify-self: start;
  width: auto !important;
  padding: 7px 14px !important;
  border: 1px solid var(--tcs-line) !important;
  border-radius: 999px !important;
  background: var(--tcs-sky) !important;
}
body.single-car .elementor-element-02e5166 .elementor-heading-title {
  color: var(--tcs-blue) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
}

body.single-car .elementor-element-49e362b,
body.single-car .elementor-element-3a788e4,
body.single-car .elementor-element-37f874c,
body.single-car .elementor-element-0404524 {
  padding: 14px 18px !important;
  border: 0 !important;
  border-left: 5px solid var(--tcs-red) !important;
  border-radius: 12px !important;
  background: var(--tcs-sky) !important;
}
body.single-car .elementor-element-49e362b .elementor-heading-title,
body.single-car .elementor-element-3a788e4 .elementor-heading-title,
body.single-car .elementor-element-37f874c .elementor-heading-title,
body.single-car .elementor-element-0404524 .elementor-heading-title {
  color: var(--tcs-navy) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

body.single-car .elementor-element-854bc92::before { content: "รหัสสต็อก"; }
body.single-car .elementor-element-0806b0a::before { content: "สถานะ"; }
body.single-car .elementor-element-78256b0::before { content: "ราคา"; }
body.single-car .elementor-element-fa71658::before { content: "ปี"; }
body.single-car .elementor-element-945e640::before { content: "เลขไมล์"; }
body.single-car .elementor-element-9149175::before { content: "เกียร์"; }
body.single-car .elementor-element-24b74d9::before { content: "ระบบขับเคลื่อน"; }
body.single-car .elementor-element-934e027::before { content: "สี"; }
body.single-car .elementor-element-6083104::before { content: "รายละเอียด"; }
body.single-car .elementor-element-66d829d::before { content: "สาขา"; }
body.single-car .elementor-element-854bc92::before,
body.single-car .elementor-element-0806b0a::before,
body.single-car .elementor-element-78256b0::before,
body.single-car .elementor-element-fa71658::before,
body.single-car .elementor-element-945e640::before,
body.single-car .elementor-element-9149175::before,
body.single-car .elementor-element-24b74d9::before,
body.single-car .elementor-element-934e027::before,
body.single-car .elementor-element-6083104::before,
body.single-car .elementor-element-66d829d::before {
  display: block;
  margin-bottom: 5px;
  color: var(--tcs-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}
body.single-car .elementor-element-78256b0 {
  grid-column: span 2;
  border-color: var(--tcs-line) !important;
  background: #FFF8F8 !important;
}
body.single-car .elementor-element-78256b0 .elementor-heading-title {
  color: var(--tcs-red) !important;
  font-size: clamp(26px, 3vw, 36px) !important;
  font-weight: 900 !important;
}
body.single-car .elementor-element-78256b0 .elementor-heading-title::before {
  content: "฿";
  margin-right: 3px;
}
body.single-car .elementor-element-945e640 .elementor-heading-title::after {
  content: " กม.";
}
body.single-car .elementor-element-6083104 {
  grid-column: span 3;
}
body.single-car .elementor-element-49b3019,
body.single-car .elementor-element-793cdcf {
  grid-column: span 2;
  border-style: dashed !important;
  background: #FFFFFF !important;
}
body.single-car .elementor-element-49b3019 .elementor-heading-title,
body.single-car .elementor-element-793cdcf .elementor-heading-title {
  color: var(--tcs-muted) !important;
  font-size: 14px !important;
  text-align: center;
}

/* ---------- Title block ---------- */
body.single-car h1.entry-title,
body.single-car .elementor-widget-theme-post-title .elementor-heading-title {
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  color: var(--tcs-navy);
  line-height: 1.3;
  margin-bottom: 6px;
}

/* Twin Lane divider under the title */
body.single-car .elementor-widget-theme-post-title {
  position: relative;
  padding-bottom: 18px;
}
body.single-car .elementor-widget-theme-post-title::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 64px;
  height: 4px;
  background: linear-gradient(90deg, var(--tcs-blue) 0 50%, var(--tcs-red) 50% 100%);
  border-radius: 2px;
}

/* ---------- Specs block (ACF fields group) ---------- */
body.single-car .elementor-widget-shortcode,
body.single-car .acf-field-group,
body.single-car .elementor-icon-list-items {
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1px solid var(--tcs-line);
  border-radius: var(--tcs-radius);
  padding: 20px 22px;
}
body.single-car .elementor-icon-list-items .elementor-icon-list-item {
  padding: 10px 0;
  border-bottom: 1px dashed var(--tcs-line);
  color: var(--tcs-ink);
  font-size: 14px;
}
body.single-car .elementor-icon-list-items .elementor-icon-list-item:last-child {
  border-bottom: none;
}
body.single-car .elementor-icon-list-item .elementor-icon-list-icon i,
body.single-car .elementor-icon-list-item .elementor-icon-list-icon svg {
  color: var(--tcs-blue);
  fill: var(--tcs-blue);
}

/* ---------- CTA button(s), wherever they land in the field stream ---------- */
body.single-car .elementor-button:not(.elementor-loop-container .elementor-button) {
  box-sizing: border-box;
  width: 100%;
  justify-content: center;
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: 14px 20px !important;
  margin: 0 0 14px;
  background: var(--tcs-blue) !important;
  color: #FFFFFF !important;
}
body.single-car .elementor-button:not(.elementor-loop-container .elementor-button):hover {
  background: var(--tcs-red) !important;
}

/* ---------- Related Cars heading (the plain-text "รถที่เกี่ยวข้อง" line
   directly above the Loop Grid) ---------- */
body.single-car .elementor-widget-heading:not(.elementor-loop-container .elementor-widget-heading):has(+ .elementor-widget-loop-grid) {
  background: var(--tcs-sky);
  border: none;
  border-radius: 14px;
  padding: 14px 20px;
  margin: 24px 0 14px;
}
body.single-car .elementor-widget-heading:not(.elementor-loop-container .elementor-widget-heading):has(+ .elementor-widget-loop-grid) .elementor-heading-title {
  font-size: 20px;
  font-weight: 800;
  color: var(--tcs-navy);
}

/* ---------- Responsive: tablet landscape ---------- */
@media (max-width: 1024px) {
  body.single-car .site-content,
  body.single-car .entry-content,
  body.single-car main#main {
    padding: 0 18px 48px;
  }
}

/* ---------- Responsive: tablet portrait ---------- */
@media (max-width: 768px) {
  body.single-car .elementor-element-8e2a9ce {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(100% - 24px, 1180px);
    padding-top: 22px;
  }
  body.single-car .elementor-element-78256b0,
  body.single-car .elementor-element-6083104,
  body.single-car .elementor-element-49b3019,
  body.single-car .elementor-element-793cdcf {
    grid-column: 1 / -1;
  }
  body.single-car .site-content,
  body.single-car .entry-content,
  body.single-car main#main {
    padding: 0 16px 40px;
  }
  body.single-car .acf-field-group,
  body.single-car .elementor-icon-list-items {
    padding: 16px 18px;
  }
}

/* ---------- Responsive: phone (covers 390px) ---------- */
@media (max-width: 600px) {
  body.single-car .elementor-element-8e2a9ce {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: min(100% - 20px, 1180px);
  }
  body.single-car .elementor-element-8e2a9ce > .elementor-element {
    grid-column: 1 / -1 !important;
  }
  body.single-car .elementor-element-a4fa5c6 img {
    aspect-ratio: 4 / 3;
  }
  body.single-car .elementor-widget-image-gallery img,
  body.single-car .elementor-widget-image-carousel img {
    aspect-ratio: 4 / 3;
  }
  body.single-car .site-content,
  body.single-car .entry-content,
  body.single-car main#main {
    padding: 0 14px 32px;
  }
  body.single-car .elementor-widget-heading:not(.elementor-widget-theme-post-title):not(.elementor-loop-container .elementor-widget-heading),
  body.single-car .elementor-widget-text-editor:not(.elementor-loop-container .elementor-widget-text-editor) {
    padding: 12px 16px;
  }
}\n}