/*
Theme Name: OpenDoor Modern Child
Description: Modern, responsive visual layer for OpenDoorSM 1.3. Inherits all OpenDoor functionality and modernizes the presentation without replacing the parent templates or data model.
Version: 2.5.0
Template: OpenDoor1.3
Author: OpenAI
License: GPL-2.0-or-later
Text Domain: opendoor-modern-child
*/

:root {
  --od-bg: #f5f7fb;
  --od-surface: #ffffff;
  --od-surface-2: #f8fafc;
  --od-text: #111827;
  --od-muted: #667085;
  --od-border: #e6eaf0;
  --od-accent: #e11d2e;
  --od-accent-dark: #b91322;
  --od-accent-soft: #fff0f2;
  --od-dark: #101828;
  --od-success: #198754;
  --od-radius: 18px;
  --od-radius-sm: 12px;
  --od-shadow: 0 12px 35px rgba(16, 24, 40, .08);
  --od-shadow-hover: 0 20px 48px rgba(16, 24, 40, .13);
  --od-max: 1240px;
}

html { scroll-behavior: smooth; }
body {
  margin: 0 !important;
  background: var(--od-bg) !important;
  color: var(--od-text) !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body:before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--od-accent), #ff5a66 50%, #111827);
}

a, a:link, a:visited { color: var(--od-accent); transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
a:hover { color: var(--od-accent-dark); }
img { max-width: 100%; height: auto; }

.container {
  width: min(var(--od-max), calc(100% - 32px)) !important;
  max-width: var(--od-max) !important;
  margin: 18px auto 28px !important;
}
.outercontainer {
  margin-left: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.innerpadding { padding: 0 !important; }

/* Remove legacy decorative layers while retaining the markup used by OpenDoor. */
#secondaryheadermenucontainer,
#header,
#menubar,
#content,
.bigheading,
#footer,
#belowfooter,
#calltoaction,
#social {
  width: 100% !important;
  box-sizing: border-box !important;
  border-left: 1px solid var(--od-border) !important;
  border-right: 1px solid var(--od-border) !important;
}

#secondaryheadermenucontainer {
  background: rgba(255,255,255,.88) !important;
  border-top: 1px solid var(--od-border) !important;
  border-bottom: 1px solid var(--od-border) !important;
  border-radius: var(--od-radius) var(--od-radius) 0 0;
  padding: 0 24px !important;
  backdrop-filter: blur(16px);
}
#secondaryheadermenu { height: auto !important; min-height: 40px; overflow: visible !important; }
#secondaryheadermenu li { float: none !important; display: inline-block; padding: 0 0 0 18px !important; font-size: 12px !important; line-height: 40px !important; }

#header {
  min-height: 102px;
  background: var(--od-surface) !important;
  padding: 22px 28px !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  position: relative;
  display: flex;
  align-items: center;
  gap: 24px;
  border-radius: 0 !important;
  box-shadow: 0 8px 30px rgba(16,24,40,.04);
}
#logo {
  width: 210px !important;
  height: 70px !important;
  margin: 0 !important;
  flex: 0 0 210px;
  position: relative;
  z-index: 2;
}
#logo a {
  width: 100% !important;
  height: 100% !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  display: block !important;
}
#description { display: none !important; }
#logo2 { top: 16px !important; right: 28px !important; width: 180px !important; height: 70px !important; background-size: contain !important; background-position: center right !important; }
#headertextandsocialicons {
  position: static !important;
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 18px;
  color: var(--od-muted);
}
#headertext { margin: 0 !important; font-size: 14px; }
#socialheader { text-align: right; }
#socialheader a { filter: grayscale(100%); opacity: .7; }
#socialheader a:hover { filter: none; opacity: 1; }

#menubar {
  background: var(--od-dark) !important;
  border-color: var(--od-dark) !important;
  padding: 0 14px !important;
  border-radius: 0 0 var(--od-radius) var(--od-radius);
  min-height: 56px;
  box-shadow: 0 14px 35px rgba(16,24,40,.12);
  position: relative;
  z-index: 80;
}
ul.sf-menu { display: flex !important; align-items: stretch; gap: 2px; float: none !important; margin: 0 !important; padding: 0 !important; }
ul.sf-menu > li { float: none !important; margin: 0 !important; list-style: none; }
ul.sf-menu > li > a {
  display: flex !important;
  align-items: center;
  min-height: 56px;
  padding: 0 18px !important;
  border-radius: 10px;
  color: #e8edf5 !important;
  text-transform: none !important;
  letter-spacing: .01em;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}
ul.sf-menu > li:hover > a,
ul.sf-menu > li.sfHover > a,
ul.sf-menu > li.current-menu-item > a,
ul.sf-menu > li.current-menu-ancestor > a,
ul.sf-menu > li.current_page_item > a {
  color: #fff !important;
  background: var(--od-accent) !important;
}
ul.sf-menu li ul {
  background: #fff !important;
  border: 1px solid var(--od-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--od-shadow) !important;
  padding: 8px !important;
  min-width: 210px;
}
ul.sf-menu li li { background: transparent !important; }
ul.sf-menu li li a,
ul.sf-menu li li li a { color: var(--od-text) !important; background: transparent !important; padding: 10px 12px !important; border-radius: 9px; font-size: 13px !important; line-height: 1.2 !important; }
ul.sf-menu li li:hover > a,
ul.sf-menu li li.sfHover > a { color: var(--od-accent) !important; background: var(--od-accent-soft) !important; }

/* Hero / page headings */
.bigheading {
  background: linear-gradient(135deg, #101828 0%, #1f2937 65%, #2e3441 100%) !important;
  border-color: #101828 !important;
  color: #fff !important;
  padding: 28px 30px !important;
  min-height: 104px;
  display: flex !important;
  align-items: center;
  gap: 22px;
  border-radius: var(--od-radius) !important;
  box-shadow: var(--od-shadow);
  overflow: hidden;
  position: relative;
}
.bigheading:after {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  right: -110px;
  top: -150px;
  background: radial-gradient(circle, rgba(225,29,46,.38), transparent 66%);
  pointer-events: none;
}
.bigheading > * { position: relative; z-index: 1; }
.bigheading .four.columns { width: 24% !important; margin: 0 !important; }
.bigheading .eight.columns { width: 52% !important; margin: 0 !important; }
.bigheading .twelve.columns { width: 76% !important; margin: 0 !important; }
.bigheading h2,
.bigheading h2#title { color: #fff !important; font-size: clamp(24px, 3vw, 34px) !important; line-height: 1.18 !important; margin: 0 !important; font-weight: 800 !important; text-transform: none !important; text-shadow: none !important; }
.bigheading h2.blogtitle { text-transform: none !important; }
.bigheading span { padding-left: 0 !important; }
#pricebig { color: #fff !important; text-align: right; font-weight: 800; }

/* Main layout */
#content {
  background: transparent !important;
  border: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(240px, 280px) minmax(0,1fr);
  gap: 24px;
  margin-top: 24px !important;
}
#content > .four.columns,
#content > #leftsidebar { width: auto !important; margin: 0 !important; min-width: 0; }
#content > .twelve.columns { width: auto !important; margin: 0 !important; min-width: 0; }

#leftsidebar,
#sidebar-left,
#sidebar-right,
#content .widget,
.widget {
  min-width: 0;
}
#leftsidebar > *,
#sidebar-left > *,
#sidebar-right > *,
#content > .four.columns > *,
#content > .twelve.columns > * {
  margin-bottom: 18px;
}

/* Sidebar / widgets */
.widget,
#search,
#calculator_widget,
#loancalculator_cars,
#loancalculator_houses,
.homepagewidgets > div,
.agentbox,
#listingcontact,
#related,
#maps,
#details,
#listingcontent,
#videos,
#comments,
#homepageblog {
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  border-radius: var(--od-radius) !important;
  box-shadow: var(--od-shadow) !important;
}
.widget { padding: 18px !important; }
.widget-title,
.widgettitle { color: var(--od-text) !important; font-size: 14px !important; font-weight: 800 !important; text-transform: none !important; letter-spacing: .01em; margin: 0 0 12px !important; }

/* Search panel */
#search {
  padding: 14px !important;
  position: relative;
  overflow: hidden;
}
#search .accordion-group { border: 0 !important; margin: 6px 0 !important; border-radius: 13px !important; overflow: hidden; }
#search .accordion-heading a,
#search .accordion-heading a:link,
#search .accordion-heading a:visited {
  display: flex !important;
  align-items: center;
  gap: 10px;
  color: #fff !important;
  background: var(--od-dark) !important;
  box-shadow: none !important;
  border-radius: 11px !important;
  padding: 12px 14px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase;
}
#search #accordionBrowseBy .accordion-heading a,
#search #accordionBrowseBy .accordion-heading a:visited { background: #eef2f6 !important; color: var(--od-text) !important; }
#search #accordionBrowseBy .accordion-heading a.alllistings { background: var(--od-accent) !important; color: #fff !important; }
#search .accordion-heading a:hover { transform: translateY(-1px); }
#search .accordion-inner { padding: 14px !important; background: var(--od-surface-2) !important; border: 1px solid var(--od-border); border-top: 0; border-radius: 0 0 11px 11px; }
#search label { color: var(--od-muted); font-size: 12px !important; font-weight: 700; display: block; margin-bottom: 5px; }

/* Forms */
input[type=text], input[type=email], input[type=password], input[type=number], input[type=tel], input[type=url], select, textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 44px;
  border: 1px solid #d8dee8 !important;
  background: #fff !important;
  color: var(--od-text) !important;
  border-radius: 11px !important;
  padding: 9px 12px !important;
  outline: none !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.03) inset;
  transition: border-color .18s ease, box-shadow .18s ease;
}
textarea { min-height: 120px; resize: vertical; }
input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, input[type=number]:focus, input[type=tel]:focus, input[type=url]:focus, select:focus, textarea:focus {
  border-color: var(--od-accent) !important;
  box-shadow: 0 0 0 4px rgba(225,29,46,.10) !important;
}

.btn,
button,
input[type=submit],
input[type=button] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 10px 16px !important;
  border: 1px solid var(--od-accent) !important;
  border-radius: 11px !important;
  background: var(--od-accent) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: .01em;
  text-shadow: none !important;
  box-shadow: 0 7px 16px rgba(225,29,46,.16) !important;
  cursor: pointer;
}
.btn:hover,
button:hover,
input[type=submit]:hover,
input[type=button]:hover { background: var(--od-accent-dark) !important; border-color: var(--od-accent-dark) !important; color: #fff !important; transform: translateY(-1px); box-shadow: 0 11px 24px rgba(225,29,46,.22) !important; }
.btn.btn-lightgray { background: #fff !important; color: var(--od-text) !important; border-color: var(--od-border) !important; box-shadow: none !important; }
.btn.btn-block { width: 100% !important; }

/* Headings / dividers */
h1,h2,h3,h4,h5,h6 { color: var(--od-text) !important; text-transform: none !important; font-weight: 800 !important; }
.bar,
h2.bar, h3.bar, h4.bar {
  position: relative;
  color: var(--od-text) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--od-border) !important;
  padding: 0 0 12px !important;
  margin: 0 0 18px !important;
  line-height: 1.25 !important;
  text-shadow: none !important;
}
.bar span, h2.bar span, h3.bar span, h4.bar span { background: transparent !important; padding: 0 !important; }
.bar:after { content:""; position:absolute; left:0; bottom:-1px; width:48px; height:3px; background:var(--od-accent); border-radius:99px; }

/* Call to action */
#calltoaction { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; background: transparent !important; border: 0 !important; margin-top: 24px !important; }
#calltoaction > .one-third { width: auto !important; margin: 0 !important; }
#calltoaction .inner {
  min-height: 148px;
  padding: 26px !important;
  background: linear-gradient(180deg, #fff, #fafbfc) !important;
  border: 1px solid var(--od-border);
  border-radius: var(--od-radius);
  box-shadow: var(--od-shadow);
  transition: transform .18s ease, box-shadow .18s ease;
}
#calltoaction .inner:hover { transform: translateY(-3px); box-shadow: var(--od-shadow-hover); }

/* Listings */
#listings { display: flex; flex-wrap: wrap; gap: 18px; }
#listings > h2 { width: 100%; }
.listingblock,
.listingblockgrid {
  position: relative;
  overflow: hidden;
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border);
  border-radius: var(--od-radius) !important;
  box-shadow: var(--od-shadow) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.listingblock:hover,
.listingblockgrid:hover { transform: translateY(-3px); box-shadow: var(--od-shadow-hover) !important; border-color: #d7dde7; }
.listingblock { display: grid; grid-template-columns: minmax(210px, 37%) minmax(0,1fr); gap: 0; width: 100%; margin: 0 !important; }
#content .twelve.columns .listingblock > .four.columns { width: auto !important; margin: 0 !important; }
.listingblocktext { width: auto !important; margin: 0 !important; padding: 0 !important; }
.listingblock .vignette:after { box-shadow: inset 0 -50px 70px rgba(0,0,0,.18) !important; }
.listingblock img,
.listingblockgrid img { display: block; width: 100%; }
.listingblocksection { padding: 18px !important; }
.listingblock h4.address { color: var(--od-muted) !important; font-size: 13px !important; font-weight: 600 !important; margin: 6px 0 9px !important; }
.listingblock h3, .listingblockgrid h3 { margin: 0 0 6px !important; }
.listingblock .price,
.listingblockgrid .price,
#pricebig { color: var(--od-accent) !important; font-weight: 900 !important; }
.comparelink { font-weight: 800; }

.listingblockgrid {
  width: calc(33.333% - 12px) !important;
  margin: 0 !important;
}
.listingblockgrid .four.columns { width: auto !important; margin: 0 !important; }
.listingblockgrid .listingblocksection { min-height: 174px; display: flex; flex-direction: column; }
.listingblockgrid .btn { margin-top: auto; }
.banner,
.listingblock .banner { border-radius: 9px !important; overflow: hidden; }

/* Details, tabs, maps and galleries */
#details, #listingcontent, #videos, #maps, #related, #listingcontact, #comments { padding: 22px !important; }
#details .tabbable { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 18px; }
#details .nav-tabs { border: 0 !important; margin: 0 !important; }
#details .nav-tabs li { float: none !important; margin: 0 0 6px !important; }
#details .nav-tabs li a { display:block; padding: 10px 12px !important; border: 1px solid transparent !important; border-radius: 10px !important; color: var(--od-muted) !important; }
#details .nav-tabs li a:hover { color: var(--od-accent) !important; background: var(--od-accent-soft) !important; }
#details .nav-tabs li.active a { color: var(--od-text) !important; background: var(--od-accent-soft) !important; border-color: #ffd4d8 !important; font-weight: 800; }
.specslist { list-style: none !important; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0 !important; padding: 0 !important; }
.specslist li { width: auto !important; margin: 0 !important; padding: 11px 12px !important; border: 1px solid var(--od-border); border-radius: 10px; background: var(--od-surface-2); }
.servicehistoryicon { color: var(--od-accent) !important; }
#slider2, #carousel { max-width: 100% !important; }
#slider2 { border-radius: 16px; overflow: hidden; background: #0c111d; }
#carousel { margin-top: 12px !important; }
#carousel .slides li { padding: 4px; }
#carousel img { border-radius: 9px; }
#maps #map,
#maps #streetview,
#searchresultsmapcontainer #map { min-height: 360px; border-radius: 14px; overflow: hidden; }
#searchresultsmapcontainer { padding: 0 !important; border: 0 !important; margin-bottom: 18px; }

/* Blog */
.blogrow,
.homepageblogitem,
.blogpageblogitem { padding: 18px !important; background: var(--od-surface) !important; border: 1px solid var(--od-border); border-radius: var(--od-radius); box-shadow: var(--od-shadow); margin-bottom: 14px !important; }
.blogrow img { border-radius: 12px; margin-right: 18px !important; }
.postmeta { color: var(--od-muted) !important; font-size: 12px !important; font-style: normal !important; }

/* Search results controls / alerts */
#orderresults { margin: 0 0 0 auto; width: min(300px,100%); }
#heading_searchresults { color:#fff !important; }
.alert { border-radius: 12px !important; border: 1px solid var(--od-border) !important; padding: 14px 16px !important; background: #fff !important; color: var(--od-muted) !important; }
.alert-error { border-color: #f4c2c7 !important; background: #fff6f7 !important; color: #842029 !important; }

/* Footer */
#footer {
  background: #0f1724 !important;
  border-color: #0f1724 !important;
  border-radius: var(--od-radius) !important;
  color: #cbd5e1 !important;
  padding: 30px !important;
  margin-top: 26px !important;
  box-shadow: 0 18px 45px rgba(16,24,40,.18);
}
#footer .four.columns { width: 25% !important; margin: 0 !important; padding: 0 12px; box-sizing: border-box; }
#footer .widget, #footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 { color: #f8fafc !important; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
#footer a { color: #e2e8f0 !important; }
#footer a:hover { color: #fff !important; }
#footer img { max-height: 55px; width: auto; opacity: .82; }
#belowfooter {
  margin-top: 12px !important;
  padding: 18px 4px 0 !important;
  border: 0 !important;
  color: var(--od-muted) !important;
  font-size: 12px;
}
#belowfooter p { margin: 0; }
#footermenu { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px 20px; margin:0; padding:0; }
#footermenu li { list-style:none; }
#footermenu a { color: var(--od-muted); }

/* Misc legacy UI */
#login { margin: 0 !important; }
#login .login a { color: #fff !important; }
.vignette:after { border-radius: inherit; }
#toTop { background: var(--od-accent) !important; border-radius: 999px !important; box-shadow: var(--od-shadow) !important; }
.top { float: right; }

/* Responsive navigation */
.od-mobile-menu-toggle { display:none; margin-left:auto; }
@media (max-width: 980px) {
  .container { width: min(var(--od-max), calc(100% - 20px)) !important; }
  #content { grid-template-columns: 230px minmax(0,1fr); gap: 16px; }
  .listingblockgrid { width: calc(50% - 9px) !important; }
  .specslist { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  body { font-size: 14px !important; }
  .container { width: calc(100% - 16px) !important; margin: 8px auto 20px !important; }
  #header { min-height: 74px; padding: 14px 16px !important; gap: 12px; }
  #logo { width: 170px !important; height: 56px !important; flex-basis: 170px; }
  #logo2 { display:none !important; }
  #headertextandsocialicons { display:none !important; }
  #menubar { padding: 8px !important; min-height: 48px; }
  .od-mobile-menu-toggle { display:inline-flex !important; width:auto !important; margin-left:auto; min-height:40px; }
  ul.sf-menu { display:none !important; flex-direction:column; gap:3px; padding-top:7px !important; }
  #menubar.od-mobile-open ul.sf-menu { display:flex !important; }
  ul.sf-menu > li > a { min-height:44px; padding: 0 13px !important; }
  ul.sf-menu li ul { position: static !important; width: auto !important; min-width: 0 !important; margin-top: 4px !important; }
  #secondaryheadermenucontainer { padding:0 14px !important; }
  #secondaryheadermenu li { line-height:34px !important; padding-left:12px !important; }
  #content { display:block !important; margin-top: 16px !important; }
  #content > .four.columns,
  #content > .twelve.columns { width:100% !important; }
  #content > .four.columns { margin-bottom:16px !important; }
  .bigheading { min-height:0; padding: 22px 18px !important; display:block !important; }
  .bigheading .four.columns,
  .bigheading .eight.columns,
  .bigheading .twelve.columns { width:100% !important; }
  #pricebig { text-align:left; margin-top:8px !important; }
  #calltoaction { grid-template-columns:1fr; gap:12px; }
  .listingblock { grid-template-columns:1fr; }
  .listingblockgrid { width:100% !important; }
  #details .tabbable { display:block; }
  #details .nav-tabs { margin-bottom:12px !important; }
  #details .nav-tabs li { display:inline-block; margin-right:4px !important; }
  .specslist { grid-template-columns:1fr; }
  #footer { padding: 22px 18px !important; }
  #footer .four.columns { width:100% !important; padding:0 !important; margin-bottom:18px !important; }
  #footermenu { justify-content:flex-start; }
  .homepagewidgets { display:block !important; }
  .homepagewidgets > div { width:100% !important; margin:0 0 12px !important; }
  #slider { width:100% !important; margin-left:0 !important; }
  .html_content { position:static !important; max-width:none !important; margin-top:-2px; border-radius:0 0 12px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *:before, *:after { transition:none !important; animation:none !important; }
}


/* ================================================================
   OpenDoor Modern Child 1.1 — mobile/layout corrections
   ================================================================ */

/* Keep the original theme's structural clearing rules from fighting flex/grid. */
#content:before,
#content:after,
#menubar:before,
#menubar:after,
#header:before,
#header:after,
#footer:before,
#footer:after { display: none !important; }

/* Listing detail gallery: modern, touch-first presentation. */
#slider2 {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #0b1220 !important;
  box-shadow: none !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
#slider2 .flex-viewport {
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}
#slider2 .slides {
  margin: 0 !important;
  padding: 0 !important;
}
#slider2 .slides > li {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  background: #0b1220 !important;
}
#slider2 .slides > li > a {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
}
#slider2 .slides img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: clamp(240px, 48vw, 620px) !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  border-radius: 0 !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

/* Gallery arrows are visible, easy to tap, and no longer depend on the
   legacy sprite positioning. */
#slider2 .flex-direction-nav a {
  width: 42px !important;
  height: 42px !important;
  top: 50% !important;
  margin-top: -21px !important;
  background: rgba(15,23,36,.68) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  text-indent: -9999px !important;
  opacity: .95 !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(8px);
}
#slider2 .flex-direction-nav .flex-prev { left: 12px !important; }
#slider2 .flex-direction-nav .flex-next { right: 12px !important; }
#slider2 .flex-direction-nav .flex-prev:after,
#slider2 .flex-direction-nav .flex-next:after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  margin: -5px 0 0 -4px !important;
  border-top: 2px solid #fff !important;
  border-right: 2px solid #fff !important;
}
#slider2 .flex-direction-nav .flex-prev:after { transform: rotate(-135deg); margin-left: -2px !important; }
#slider2 .flex-direction-nav .flex-next:after { transform: rotate(45deg); margin-left: -7px !important; }

/* Desktop thumbnails: compact card-like strip. */
#carousel {
  margin: 10px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
#carousel .flex-viewport {
  border-radius: 12px !important;
  overflow: hidden !important;
}
#carousel .slides > li {
  margin-right: 7px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: transparent !important;
}
#carousel .slides img {
  width: 86px !important;
  height: 58px !important;
  object-fit: cover !important;
  border: 2px solid transparent !important;
  border-radius: 10px !important;
  opacity: .58 !important;
  transition: opacity .18s ease, border-color .18s ease, transform .18s ease !important;
}
#carousel .slides img:hover,
#carousel .flex-active-slide img {
  opacity: 1 !important;
  border-color: var(--od-accent) !important;
}

/* Mobile gallery: use the native touch/swipe main gallery + dots/counter,
   instead of a cramped legacy thumbnail rail. */
.od-gallery-counter {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 20;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(15,23,36,.72);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  backdrop-filter: blur(8px);
  pointer-events: none;
}
.od-gallery-dots {
  display: none;
}

/* A more natural mobile reading order: listing/details first, sidebar second. */
@media (max-width: 760px) {
  .container { width: calc(100% - 16px) !important; }
  #content {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  #content > .twelve.columns { order: 1 !important; }
  #content > .four.columns,
  #content > #leftsidebar { order: 2 !important; }

  .bigheading {
    margin-bottom: 14px !important;
    border-radius: 15px !important;
  }
  .bigheading h2,
  .bigheading h2#title { font-size: 23px !important; }
  #pricebig { font-size: 24px !important; }

  /* Prevent horizontal overflow caused by old Skeleton/Bootstrap widths. */
  #content > .twelve.columns,
  #content > .four.columns,
  #content > #leftsidebar,
  #content .columns,
  #content table,
  #content iframe,
  #content pre { max-width: 100% !important; box-sizing: border-box !important; }

  #slider2 {
    border-radius: 15px !important;
    touch-action: pan-y pinch-zoom !important;
  }
  #slider2 .flex-viewport { border-radius: 15px !important; }
  #slider2 .slides img {
    height: min(72vw, 430px) !important;
    min-height: 205px !important;
    object-fit: cover !important;
  }
  #slider2 .flex-direction-nav a {
    width: 38px !important;
    height: 38px !important;
    margin-top: -19px !important;
    top: 50% !important;
    opacity: .92 !important;
  }
  #slider2 .flex-direction-nav .flex-prev { left: 9px !important; }
  #slider2 .flex-direction-nav .flex-next { right: 9px !important; }

  #carousel { display: none !important; }
  .od-gallery-dots {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 22px;
    margin: 7px 0 0;
  }
  .od-gallery-dots button {
    width: 6px !important;
    min-width: 6px !important;
    height: 6px !important;
    min-height: 6px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #c8ced8 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    transform: none !important;
  }
  .od-gallery-dots button.is-active {
    width: 20px !important;
    min-width: 20px !important;
    background: var(--od-accent) !important;
  }
}

@media (max-width: 390px) {
  #slider2 .slides img {
    height: 61vw !important;
    min-height: 195px !important;
  }
  #slider2 .flex-direction-nav a {
    width: 34px !important;
    height: 34px !important;
    margin-top: -17px !important;
  }
}

/* ================================================================
   OpenDoor Modern Child 1.3 — detail page / search cleanup
   ================================================================ */

/* Keep the advanced/built-in search panel. Remove only the old free-text
   WordPress search bar (#basicsearch / #s), which was creating the large
   floating white area seen on mobile. */
#search,
#leftsidebar #search,
#sidebar-left #search,
.sidebar #search { display: block !important; }
#basicsearch,
#basicsearch form,
#basicsearch input#s,
form#searchform + #basicsearch { display: none !important; }

/* The parent theme lifts the sidebar by -85px to make room for its old
   search panel. That offset is no longer appropriate without the panel. */
#leftsidebar,
#sidebar-left,
#sidebar-right { top: 0 !important; }

/* Listing title/price hero: use a stable two-column grid after removing the
   old empty Skeleton spacer. This prevents the title from being clipped or
   sitting underneath the old search block. */
.bigheading {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  min-width: 0 !important;
}
.bigheading > .four.columns.alpha { display: none !important; }
.bigheading > .eight.columns,
.bigheading > .four.columns.omega,
.bigheading > .twelve.columns {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.bigheading > .eight.columns h2,
.bigheading > .twelve.columns h2,
.bigheading #title {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.bigheading > .four.columns.omega { justify-self: end !important; }
#pricebig { white-space: nowrap !important; }

/* Details tabs: the old Bootstrap tabs-left rules and Skeleton floats were
   fighting the modern layout. Make the tabs a clean horizontal selector and
   give the actual specification area the full available width. */
#details .tabbable,
#details .tabbable.tabs-left {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
#details .tabs-left > .nav-tabs,
#details .tabs-left > .nav-tabs:first-child,
#details .nav-tabs {
  float: none !important;
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
}
#details .nav-tabs > li,
#details .tabs-left > .nav-tabs > li {
  float: none !important;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#details .nav-tabs > li > a,
#details .tabs-left > .nav-tabs > li > a {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 42px !important;
  box-sizing: border-box !important;
  padding: 10px 15px !important;
  border: 1px solid var(--od-border) !important;
  border-radius: 12px !important;
  background: var(--od-surface-2) !important;
  color: var(--od-muted) !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}
#details .nav-tabs > li.active > a,
#details .nav-tabs > li.active > a:hover,
#details .tabs-left > .nav-tabs > li.active > a {
  color: var(--od-text) !important;
  background: var(--od-accent-soft) !important;
  border-color: #ffd4d8 !important;
  font-weight: 800 !important;
}
#details .tab-content {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
#details .tab-pane {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Specification cards: remove every legacy fixed Skeleton column width and
   replace it with a true responsive grid. Long values may wrap but never get
   clipped inside narrow 40–120px legacy boxes. */
#details ul.specslist,
#details ul.specslist.fourcolumns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}
#details ul.specslist > li,
#details ul.specslist.fourcolumns > li,
#details ul.specslist > li.three.columns,
#details ul.specslist > li.four.columns {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  border: 1px solid var(--od-border) !important;
  border-radius: 14px !important;
  background: var(--od-surface-2) !important;
  list-style: none !important;
}
#details ul.specslist > li > a,
#details ul.specslist > li > span,
#details ul.specslist > li > strong {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
  line-height: 1.35 !important;
  color: var(--od-muted) !important;
}
#details ul.specslist > li > a:hover { color: var(--od-accent) !important; }

/* Detail section heading should never inherit a weird inline/float width. */
#details > h3.bar {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  background: transparent !important;
  border-bottom: 1px solid var(--od-border) !important;
  line-height: 1.25 !important;
  text-shadow: none !important;
}
#details > h3.bar:after {
  content: "";
  display: block;
  width: 88px;
  height: 4px;
  margin-top: 10px;
  border-radius: 999px;
  background: var(--od-accent);
}

@media (max-width: 900px) {
  #details ul.specslist,
  #details ul.specslist.fourcolumns { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  .bigheading {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 20px 17px !important;
  }
  .bigheading > .four.columns.omega { justify-self: start !important; }
  #pricebig { text-align: left !important; font-size: 24px !important; }

  #details { padding: 17px !important; }
  #details .nav-tabs { gap: 7px !important; margin-bottom: 14px !important; }
  #details .nav-tabs > li { flex: 1 1 auto !important; }
  #details .nav-tabs > li > a { text-align: center !important; min-height: 40px !important; padding: 9px 10px !important; }
  #details ul.specslist,
  #details ul.specslist.fourcolumns { grid-template-columns: 1fr !important; gap: 9px !important; }
  #details ul.specslist > li,
  #details ul.specslist.fourcolumns > li { min-height: 52px !important; }
}


/* ================================================================
   OpenDoor Modern Child 1.3 — keep filters, remove free-text search
   ================================================================ */
#search {
  position: relative !important;
  z-index: 3 !important;
  clear: both !important;
}
#search .accordion-group,
#search .accordion-heading,
#search .accordion-inner {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#search .accordion-heading a {
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

/* Prevent the hidden free-search markup from leaving any spacing behind. */
#basicsearch + *,
#basicsearch {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  #search {
    margin: 0 0 16px !important;
    width: 100% !important;
  }
  #search .accordion-heading a {
    padding: 12px 14px !important;
    min-height: 50px !important;
  }
  #search .accordion-inner {
    padding: 12px !important;
  }
}


/* ================================================================
   OpenDoor Modern Child 1.4 — remove ONLY the legacy free search bar
   and add a proper WhatsApp contact button.
   The advanced filter panel (#search) remains untouched.
   ================================================================ */
#basicsearch,
#basicsearch form,
#basicsearch input,
#searchform#searchform:not(#search .accordion-inner #searchform) {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* Never hide the real advanced vehicle/house filter forms inside #search. */
#search #searchform,
#search form#searchform {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
}

.od-whatsapp {
  position: fixed !important;
  right: 22px !important;
  bottom: calc(22px + env(safe-area-inset-bottom)) !important;
  z-index: 99999 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 54px !important;
  padding: 0 19px !important;
  border-radius: 999px !important;
  background: #25D366 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.20), 0 2px 8px rgba(0,0,0,.12) !important;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
.od-whatsapp:hover,
.od-whatsapp:focus-visible {
  color: #fff !important;
  transform: translateY(-2px) !important;
  filter: brightness(.97) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.24), 0 3px 10px rgba(0,0,0,.14) !important;
  outline: none !important;
}
.od-whatsapp:active { transform: translateY(0) scale(.98) !important; }
.od-whatsapp-icon {
  width: 25px !important;
  height: 25px !important;
  display: inline-flex !important;
  flex: 0 0 25px !important;
}
.od-whatsapp-icon svg { width: 100% !important; height: 100% !important; fill: currentColor !important; }
.od-whatsapp-label { line-height: 1 !important; }

@media (max-width: 760px) {
  .od-whatsapp {
    right: 14px !important;
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
    width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }
  .od-whatsapp-icon { width: 28px !important; height: 28px !important; }
  .od-whatsapp-label { display: none !important; }
}

/* ================================================================
   OpenDoor Modern Child 1.5 — remove the FREE TEXT search field only
   Keep #search intact: it contains the vehicle/property filters.
   ================================================================ */
#basicsearch,
#basicsearch form,
#basicsearch fieldset,
#basicsearch input,
.widget_search,
#header .search-form,
#header #searchform,
#header form[role="search"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* Do not affect the real advanced filter/search panel. */
#search,
#search #searchform,
#search form#searchform,
#search input,
#search select,
#search button {
  visibility: visible;
}

@media (max-width: 767px) {
  /* Extra protection against the old free-search block leaving a white gap. */
  #basicsearch + *,
  #header + #basicsearch,
  .widget_search + * {
    margin-top: 0 !important;
  }
}

/* ================================================================
   OpenDoor Modern Child 1.6 — smartphone-first polish
   Keep desktop behaviour, optimize touch/mobile spacing and gallery.
   ================================================================ */
@media (max-width: 767px) {
  html, body { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; }
  body { font-size: 15px !important; }

  .container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  #header {
    min-height: 68px !important;
    height: auto !important;
    padding: 10px 12px !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }
  #logo {
    width: 150px !important;
    height: 48px !important;
    flex-basis: 150px !important;
  }
  #logo2 { display: none !important; }
  #headertextandsocialicons { gap: 8px !important; min-width: 0 !important; }
  #headertext { font-size: 12px !important; max-width: 160px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
  #socialheader { display: none !important; }

  #menubar {
    min-height: 48px !important;
    padding: 0 10px !important;
    border-radius: 0 !important;
  }
  .od-mobile-menu-toggle {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 0 12px !important;
    border-radius: 10px !important;
    touch-action: manipulation !important;
  }
  ul.sf-menu { display: none !important; flex-direction: column !important; gap: 4px !important; width: 100% !important; }
  #menubar.od-mobile-open ul.sf-menu { display: flex !important; }
  ul.sf-menu > li > a {
    min-height: 46px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
  }

  .bigheading {
    width: 100% !important;
    min-height: 0 !important;
    margin: 10px 0 12px !important;
    padding: 18px 16px !important;
    border-radius: 16px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .bigheading .eight.columns,
  .bigheading .four.columns,
  .bigheading .twelve.columns,
  .bigheading > .four.columns.omega {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .bigheading h2,
  .bigheading h2#title {
    font-size: clamp(21px, 6vw, 28px) !important;
    line-height: 1.17 !important;
    overflow-wrap: anywhere !important;
  }
  #pricebig {
    font-size: clamp(22px, 6.5vw, 30px) !important;
    line-height: 1.1 !important;
  }

  #content {
    width: 100% !important;
    margin: 0 !important;
    gap: 12px !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #content > .twelve.columns,
  #content > .four.columns,
  #content > #leftsidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  #content > .twelve.columns { order: 1 !important; }
  #content > .four.columns,
  #content > #leftsidebar { order: 2 !important; }

  /* Gallery: use all available phone width, with a comfortable 16:10 frame. */
  #slider2 {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 14px !important;
    background: #0b1220 !important;
    box-shadow: 0 8px 24px rgba(15,23,42,.12) !important;
    touch-action: pan-y !important;
  }
  #slider2 .flex-viewport,
  #slider2 .slides,
  #slider2 .slides > li {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }
  #slider2 .slides img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  #slider2 .flex-direction-nav a {
    width: 40px !important;
    height: 40px !important;
    margin-top: -20px !important;
  }
  #slider2 .flex-direction-nav .flex-prev { left: 8px !important; }
  #slider2 .flex-direction-nav .flex-next { right: 8px !important; }
  .od-gallery-counter { right: 10px !important; bottom: 10px !important; }
  .od-gallery-dots { margin: 6px 0 12px !important; }

  #carousel { display: none !important; }

  /* Search/filter panel: comfortable controls, no horizontal clipping. */
  #search,
  #search .accordion-inner,
  #search .accordion-heading,
  #search form {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #search { margin: 0 0 12px !important; }
  #search select,
  #search input,
  #search button,
  #search .btn {
    min-height: 46px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
  }

  /* Better reading rhythm for listing content/cards. */
  #listingcontent,
  #details,
  #maps,
  #videos,
  #related,
  #comments,
  #listingcontact {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
  }

  #details { padding: 15px !important; }
  #details ul.specslist,
  #details ul.specslist.fourcolumns { grid-template-columns: 1fr !important; }
  #details ul.specslist > li,
  #details ul.specslist.fourcolumns > li {
    width: 100% !important;
    min-height: 52px !important;
    padding: 11px 13px !important;
  }

  .od-whatsapp {
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
  }
}

@media (max-width: 390px) {
  .container { padding-left: 8px !important; padding-right: 8px !important; }
  #header { padding-left: 10px !important; padding-right: 10px !important; }
  #logo { width: 132px !important; flex-basis: 132px !important; }
  #headertext { max-width: 118px !important; }
  .bigheading { padding: 16px 14px !important; }
  #slider2 { aspect-ratio: 15 / 10 !important; border-radius: 12px !important; }
  #slider2 .flex-direction-nav a { width: 36px !important; height: 36px !important; margin-top: -18px !important; }
}

/* ================================================================
   OpenDoor Modern Child 2.1 — final visual polish
   Functional backend remains OpenDoor-style; these rules are frontend only.
   ================================================================ */

/* Equal announcement cards: every card in a row has the same visual frame. */
#listings {
  align-items: stretch !important;
}
#listings .listingblockgrid {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: auto !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
}
#listings .listingblockgrid > div:first-child,
#listings .listingblockgrid .vignette {
  width: 100% !important;
}
#listings .listingblockgrid .vignette {
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  overflow: hidden !important;
  background: #eef1f5 !important;
}
#listings .listingblockgrid .vignette img,
#listings .listingblockgrid img.listing_thumbnail {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}
#listings .listingblockgrid .listingblocksection {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 190px !important;
  box-sizing: border-box !important;
}
#listings .listingblockgrid .listingblocksection .address {
  min-height: 42px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
#listings .listingblockgrid .twofeatures {
  min-height: 42px !important;
  margin-bottom: 12px !important;
}
#listings .listingblockgrid .btn {
  margin-top: auto !important;
  width: 100% !important;
}

/* Modern reduced-price marker while retaining the original OpenDoor link. */
.listingblockgrid a.reduced,
.listingblock a.reduced {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 28px !important;
  padding: 3px 9px !important;
  margin-right: 7px !important;
  border-radius: 999px !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #15803d !important;
  vertical-align: middle !important;
  text-decoration: none !important;
}
.listingblockgrid a.reduced img,
.listingblock a.reduced img {
  width: 13px !important;
  height: 13px !important;
  object-fit: contain !important;
  filter: none !important;
}
.listingblockgrid a.reduced:after,
.listingblock a.reduced:after {
  content: "Prezzo ridotto" !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}

/* Social video buttons on the vehicle page. */
.od-social-video-panel {
  margin-top: 18px !important;
  padding: 20px !important;
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid var(--od-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--od-shadow) !important;
}
.od-social-video-heading {
  margin: 0 0 14px !important;
  color: var(--od-text) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
}
.od-social-video-buttons {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.od-social-video {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 54px !important;
  padding: 9px 12px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--od-border) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--od-text) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 12px rgba(15,23,42,.05) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.od-social-video:hover {
  transform: translateY(-2px) !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.10) !important;
  color: var(--od-text) !important;
}
.od-social-video-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: #111827 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.od-social-video-youtube .od-social-video-icon { background: #ff0033 !important; }
.od-social-video-tiktok .od-social-video-icon { background: #111827 !important; }
.od-social-video-instagram .od-social-video-icon { background: linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045) !important; }
.od-social-video-arrow {
  margin-left: auto !important;
  color: #94a3b8 !important;
  font-size: 16px !important;
}

/* Slightly more premium listing detail surfaces. */
#slider2,
#details,
#listingcontent,
#related,
#listingcontact,
#maps,
#comments {
  box-shadow: 0 12px 35px rgba(15,23,42,.07) !important;
}
#details,
#listingcontent {
  background: rgba(255,255,255,.96) !important;
}

@media (max-width: 900px) {
  #listings .listingblockgrid { width: calc(50% - 9px) !important; }
  .od-social-video-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  #listings { gap: 12px !important; }
  #listings .listingblockgrid {
    width: 100% !important;
    min-height: 0 !important;
  }
  #listings .listingblockgrid .vignette { aspect-ratio: 16 / 10 !important; }
  #listings .listingblockgrid .listingblocksection {
    min-height: 0 !important;
    padding: 16px !important;
  }
  #listings .listingblockgrid .address { min-height: 0 !important; }
  .od-social-video-panel { padding: 15px !important; border-radius: 15px !important; }
  .od-social-video-buttons { grid-template-columns: 1fr !important; gap: 8px !important; }
  .od-social-video { min-height: 52px !important; }
}


/* ================================================================
   OpenDoor Modern Child 2.2 — listing grid alignment
   Frontend visual-only: keep every announcement card in a true equal grid.
   ================================================================ */
#listings {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
#listings > h2,
#listings > .clear,
#listings > .pagination,
#listings > .alert,
#listings > #orderresults,
#listings > .searchresultshead {
  grid-column: 1 / -1 !important;
}
#listings .listingblockgrid {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
}
#listings .listingblockgrid .vignette,
#listings .listingblockgrid > .four.columns,
#listings .listingblockgrid > .eight.columns {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}
#listings .listingblockgrid .listingblocksection {
  flex: 1 1 auto !important;
}

@media (max-width: 980px) {
  #listings { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
  #listings { grid-template-columns: 1fr !important; gap: 14px !important; }
}

/* ================================================================
   OpenDoor Modern Child 3.0 — homepage card alignment + prices
   ================================================================ */

/* Do not let the legacy theme color the vehicle price red. */
#listings .listingblockgrid .price,
#listings .listingblockgrid .price a:not(.reduced),
#listings .listingblockgrid .price span:not(.od-reduction-text) {
  color: var(--od-text) !important;
  text-decoration: none !important;
}
#listings .listingblockgrid .price {
  min-height: 34px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex-wrap: wrap !important;
  margin: 0 0 8px !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}
#listings .listingblockgrid .price .reduced {
  order: 2 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 4px 9px !important;
  min-height: 26px !important;
  box-sizing: border-box !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #15803d !important;
  box-shadow: none !important;
}
#listings .listingblockgrid .price .reduced img {
  display: none !important;
}
#listings .listingblockgrid .price .reduced .od-reduction-text {
  display: inline !important;
  color: #15803d !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* A true equal-height homepage grid: image + content + button all line up. */
#listings {
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
}
#listings .listingblockgrid {
  height: 100% !important;
  min-height: 0 !important;
}
#listings .listingblockgrid .vignette {
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  flex: 0 0 auto !important;
}
#listings .listingblockgrid .listingblocksection {
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
#listings .listingblockgrid .listingblocksection .address {
  min-height: 3.1em !important;
  max-height: 3.1em !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
#listings .listingblockgrid .twofeatures {
  min-height: 42px !important;
  max-height: 42px !important;
  overflow: hidden !important;
}
#listings .listingblockgrid .btn {
  margin-top: auto !important;
}

@media (max-width: 760px) {
  #listings .listingblockgrid .price {
    font-size: 19px !important;
  }
  #listings .listingblockgrid .listingblocksection .address {
    min-height: 0 !important;
    max-height: 3.2em !important;
  }
  #listings .listingblockgrid .twofeatures {
    max-height: none !important;
  }
}


/* ================================================================
   OpenDoor Modern Child 2.4 — definitive listing alignment + price
   ================================================================ */
/* The original listings_grid.php inserts a clearing <span> after every
   third card. With CSS Grid those legacy clears must not become grid items. */
#listings > span[style*="clear"],
#listings > span[style*="display: block"] {
  display: none !important;
}
#listings {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: 20px !important;
}
#listings .listingblockgrid {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}
#listings .listingblockgrid > div:first-child {
  flex: 0 0 auto !important;
}
#listings .listingblockgrid .vignette {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
}
#listings .listingblockgrid .listingblocksection {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}
#listings .listingblockgrid .listingblocksection .address {
  height: 3.2em !important;
  min-height: 3.2em !important;
  max-height: 3.2em !important;
  overflow: hidden !important;
}
#listings .listingblockgrid .twofeatures {
  min-height: 42px !important;
  max-height: 42px !important;
  overflow: hidden !important;
}
#listings .listingblockgrid .btn {
  margin-top: auto !important;
}

/* Never inherit the old OpenDoor green/red price styling on vehicle cards
   or on the single vehicle page. */
#listings .listingblockgrid p.price,
#listings .listingblockgrid p.price *:not(.reduced),
h2#pricebig,
h2#pricebig * {
  color: var(--od-text) !important;
}
#listings .listingblockgrid p.price {
  background: transparent !important;
  font-weight: 850 !important;
}
h2#pricebig {
  color: var(--od-text) !important;
  font-weight: 900 !important;
}

/* Reduction is a real visible label, not just the old arrow tooltip. */
.od-detail-reduction {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: 10px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: #ecfdf3 !important;
  border: 1px solid #bbf7d0 !important;
  color: #15803d !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}
.od-detail-reduction strong { color: #15803d !important; }

@media (max-width: 980px) {
  #listings { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
  #listings { grid-template-columns: 1fr !important; gap: 14px !important; }
  #listings .listingblockgrid .vignette { aspect-ratio: 16 / 10 !important; }
  .od-detail-reduction { display: flex !important; width: max-content !important; margin: 8px 0 0 !important; }
}


/* ================================================================
   OpenDoor Modern Child 2.6 — listing price, details button, compare
   ================================================================ */
/* Price: white text on a dark strip so it remains clearly visible. */
#listings .listingblockgrid p.price,
#listings .listingblock p.price {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 0 10px !important;
  padding: 9px 12px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
  background: #101828 !important;
  color: #fff !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  overflow: visible !important;
}
#listings .listingblockgrid p.price,
#listings .listingblockgrid p.price a,
#listings .listingblockgrid p.price span,
#listings .listingblock p.price,
#listings .listingblock p.price a,
#listings .listingblock p.price span {
  color: #fff !important;
}
#listings .listingblockgrid p.price .reduced,
#listings .listingblock p.price .reduced {
  background: #198754 !important;
  border: 0 !important;
  color: #fff !important;
  margin-left: auto !important;
  padding: 4px 8px !important;
  min-height: 26px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
}
#listings .listingblockgrid p.price .reduced .od-reduction-text,
#listings .listingblock p.price .reduced .od-reduction-text {
  color: #fff !important;
}

/* Do not clip the lower part of the card/button. */
#listings .listingblockgrid,
#listings .listingblock {
  overflow: visible !important;
}
#listings .listingblockgrid .listingblocksection {
  overflow: visible !important;
  padding-bottom: 12px !important;
}
#listings .listingblockgrid .listingblocksection > a.btn,
#listings .listingblockgrid a.btn-lightgray {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  height: auto !important;
  box-sizing: border-box !important;
  margin: 10px 0 0 !important;
  padding: 12px 16px !important;
  border-radius: 14px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow: visible !important;
}

/* Compare row: keep checkbox and label visible and clickable. */
#listings .listingblockgrid .compare,
#listings .listingblock .compare {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 10px 0 0 !important;
  padding: 0 4px !important;
  min-height: 28px !important;
  color: var(--od-text) !important;
  cursor: pointer !important;
}
#listings .listingblockgrid .compare input[type="checkbox"],
#listings .listingblock .compare input[type="checkbox"] {
  margin: 0 !important;
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
  cursor: pointer !important;
}
#listings .listingblockgrid .comparelink,
#listings .listingblock .comparelink {
  color: var(--od-text) !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
#listings .listingblockgrid .comparelink:hover,
#listings .listingblock .comparelink:hover { color: var(--od-accent) !important; }

@media (max-width: 700px) {
  #listings .listingblockgrid p.price,
  #listings .listingblock p.price { font-size: 19px !important; }
}

/* v2.7 - prezzo nella testata della singola scheda annuncio */
h2#pricebig,
#pricebig,
#pricebig a,
#pricebig span,
.bigheading #pricebig,
.bigheading h2#pricebig {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ================================================================
   OpenDoor Modern Child 2.9 — homepage hero + mobile search order
   ================================================================ */

/* Modern homepage hero: keep the original UnoSlider engine/content,
   but give it a current full-bleed visual treatment. */
#slider.unoslider {
  position: relative !important;
  width: min(100%, 1180px) !important;
  height: clamp(300px, 42vw, 520px) !important;
  margin: 0 auto 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: #0b1220 !important;
  box-shadow: 0 20px 55px rgba(15,23,42,.18) !important;
  isolation: isolate !important;
}
#slider.unoslider > li {
  width: 100% !important;
  height: 100% !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}
#slider.unoslider > li > img,
#slider.unoslider > li > a,
#slider.unoslider > li > a > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
#slider.unoslider > li > img,
#slider.unoslider > li > a > img {
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Soft cinematic contrast over the lower part of each hero image. */
#slider.unoslider > li:after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(2,6,23,0) 38%, rgba(2,6,23,.72) 100%) !important;
}

#slider.unoslider .html_content {
  position: absolute !important;
  z-index: 3 !important;
  left: 28px !important;
  right: 28px !important;
  bottom: 28px !important;
  width: auto !important;
  max-width: 620px !important;
  margin: 0 !important;
  padding: 22px 24px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 18px !important;
  background: rgba(10,15,28,.68) !important;
  color: #fff !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(12px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(125%) !important;
}
#slider.unoslider .html_content h2,
#slider.unoslider .html_content .slidertext h2 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(22px, 3vw, 38px) !important;
  line-height: 1.08 !important;
  font-weight: 850 !important;
  letter-spacing: -.02em !important;
}
#slider.unoslider .html_content .twofeatures,
#slider.unoslider .html_content .price {
  margin: 0 0 10px !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}
#slider.unoslider .html_content .price,
#slider.unoslider .html_content .price * {
  color: #fff !important;
}
#slider.unoslider .html_content .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;
  font-weight: 800 !important;
}

/* Modern UnoSlider navigation: larger, circular, glass-like controls. */
#slider.unoslider .unoslider_navigation_container {
  position: absolute !important;
  z-index: 5 !important;
  inset: auto 18px 18px auto !important;
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}
#slider.unoslider .unoslider_navigation_container a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 999px !important;
  background: rgba(15,23,36,.62) !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.2) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  text-decoration: none !important;
}
#slider.unoslider .unoslider_navigation_container a:hover {
  background: rgba(15,23,36,.84) !important;
  transform: translateY(-1px) !important;
}
#slider.unoslider .unoslider_timer {
  top: auto !important;
  bottom: 0 !important;
  z-index: 6 !important;
  height: 3px !important;
  background: rgba(255,255,255,.28) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
#slider.unoslider .unoslider_timer span {
  background: var(--od-accent) !important;
}

/* On phones the order is: HERO -> SEARCH -> LISTINGS. */
@media (max-width: 760px) {
  #slider.unoslider {
    width: calc(100% + 0px) !important;
    height: clamp(250px, 68vw, 390px) !important;
    margin: 0 0 14px !important;
    border-radius: 18px !important;
  }
  #slider.unoslider > li { border-radius: 18px !important; }
  #slider.unoslider .html_content {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    max-width: none !important;
    padding: 14px 15px !important;
    border-radius: 14px !important;
  }
  #slider.unoslider .html_content h2,
  #slider.unoslider .html_content .slidertext h2 {
    font-size: 20px !important;
    line-height: 1.12 !important;
  }
  #slider.unoslider .html_content .twofeatures,
  #slider.unoslider .html_content .price { font-size: 12px !important; margin-bottom: 7px !important; }
  #slider.unoslider .html_content .btn { min-height: 38px !important; padding: 0 14px !important; }
  #slider.unoslider .unoslider_navigation_container { right: 10px !important; bottom: 10px !important; }
  #slider.unoslider .unoslider_navigation_container a { width: 36px !important; height: 36px !important; }

  #content {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-top: 0 !important;
  }
  #content > .four.columns {
    order: 1 !important;
    width: 100% !important;
    margin: 0 !important;
  }
  #content > .twelve.columns {
    order: 2 !important;
    width: 100% !important;
    margin: 0 !important;
  }
  #content > .four.columns #search {
    margin: 0 0 2px !important;
  }
  #content > .four.columns #search,
  #content > .four.columns #search form {
    width: 100% !important;
  }
}

/* v3.0 - modern vehicle gallery + side-by-side details + compare floating action */
.od-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:24px;align-items:start;margin-top:8px}
.od-detail-media{min-width:0;position:sticky;top:18px}
.od-detail-info{min-width:0}
.od-detail-media #slider2{width:100%!important;margin:0!important;border-radius:18px!important;background:#0b1018!important;box-shadow:0 16px 45px rgba(0,0,0,.18);overflow:hidden}
.od-detail-media #slider2 .flex-viewport{border-radius:18px!important}
.od-detail-media #slider2 .slides>li{height:auto!important;display:flex!important;align-items:center;justify-content:center;background:#0b1018}
.od-detail-media #slider2 .slides img{width:100%!important;height:auto!important;max-height:70vh!important;aspect-ratio:16/10;object-fit:contain!important;display:block;background:#0b1018}
.od-detail-media #slider2 .slides>li>a{display:block;width:100%;cursor:zoom-in}
.od-detail-media #carousel{display:block!important;width:100%!important;margin:12px 0 0!important;padding:0!important}
.od-detail-media #carousel .flex-viewport{border-radius:12px!important}
.od-detail-media #carousel .slides>li{width:86px!important;margin-right:8px!important;cursor:pointer}
.od-detail-media #carousel .slides img{width:86px!important;height:60px!important;object-fit:cover!important;border-radius:9px!important;opacity:.72;transition:.2s}
.od-detail-media #carousel .flex-active-slide img{opacity:1;box-shadow:0 0 0 2px currentColor}
.od-detail-info #details{margin-top:0!important}
.od-detail-info #listingcontent{margin-top:18px}
.od-gallery-hint{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;font-size:12px;opacity:.7}
.od-gallery-hint:before{content:'↗';font-size:16px}
.od-image-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(4,7,12,.94);display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(10px)}
.od-image-lightbox.is-open{display:flex}
.od-image-lightbox img{max-width:96vw;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 25px 80px rgba(0,0,0,.55)}
.od-image-lightbox button{position:absolute;top:16px;right:18px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:28px;line-height:44px;cursor:pointer}
.od-compare-float{position:fixed;right:20px;bottom:20px;z-index:99998;display:none;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:#111827;color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.28);font-weight:800;text-decoration:none}
.od-compare-float.is-visible{display:flex}
.od-compare-float .count{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.od-compare-float:hover{color:#fff;transform:translateY(-1px)}
@media(max-width:900px){
 .od-detail-layout{grid-template-columns:1fr;gap:18px}
 .od-detail-media{position:relative;top:auto}
 .od-detail-media #slider2 .slides img{max-height:62vh!important;aspect-ratio:4/3}
 .od-detail-media #carousel{overflow:hidden}
 .od-compare-float{right:12px;bottom:12px;padding:11px 14px}
}
@media(max-width:600px){
 .od-detail-media #slider2{border-radius:14px!important}
 .od-detail-media #slider2 .flex-viewport{border-radius:14px!important}
 .od-detail-media #slider2 .slides img{max-height:58vh!important;aspect-ratio:4/3}
 .od-detail-media #carousel .slides>li{width:72px!important;margin-right:6px!important}
 .od-detail-media #carousel .slides img{width:72px!important;height:50px!important}
 .od-image-lightbox{padding:10px}
 .od-image-lightbox img{max-width:100vw;max-height:86vh;border-radius:7px}
}

/* v3.1 - pulsante Confronta sopra WhatsApp */
#od-compare-float,
.od-compare-float,
#compare-float,
.od-floating-compare {
    bottom: 88px !important;
    z-index: 999999 !important;
}

/* v3.2 - galleria annunci stabile: miniature moderne indipendenti dal vecchio carousel */
.od-legacy-carousel{display:none!important}
.od-modern-thumbs{display:flex;gap:9px;overflow-x:auto;padding:12px 2px 4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.od-modern-thumb{flex:0 0 86px;width:86px;height:62px;padding:0;border:2px solid transparent;border-radius:10px;background:#111827;overflow:hidden;cursor:pointer;opacity:.65;transition:transform .18s,opacity .18s,border-color .18s,box-shadow .18s}
.od-modern-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important}
.od-modern-thumb:hover{opacity:.9;transform:translateY(-1px)}
.od-modern-thumb.is-active{opacity:1;border-color:currentColor;box-shadow:0 5px 18px rgba(0,0,0,.16)}
@media(max-width:600px){
 .od-modern-thumbs{gap:7px;padding-top:9px}
 .od-modern-thumb{flex-basis:70px;width:70px;height:52px;border-radius:8px}
}


/* v3.3 - galleria autonoma, indipendente dal vecchio FlexSlider */
.od-native-gallery{width:100%;position:relative}
.od-native-stage{position:relative;width:100%;height:clamp(300px,42vw,650px);min-height:280px;background:#0b1018;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 16px 45px rgba(0,0,0,.18)}
.od-native-main{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in;background:#0b1018}
.od-native-prev,.od-native-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(15,23,36,.72);color:#fff;font-size:34px;line-height:38px;z-index:5;cursor:pointer;backdrop-filter:blur(8px)}
.od-native-prev{left:14px}.od-native-next{right:14px}.od-native-prev:hover,.od-native-next:hover{background:rgba(15,23,36,.9)}
.od-native-count{position:absolute;right:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(15,23,36,.72);color:#fff;font-size:12px;font-weight:800;z-index:5;backdrop-filter:blur(8px)}
.od-native-thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 3px;scrollbar-width:thin}
.od-native-thumb{flex:0 0 88px;width:88px;height:60px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#e9edf3;cursor:pointer;opacity:.65}
.od-native-thumb img{width:100%;height:100%;object-fit:cover;display:block}.od-native-thumb.is-active{opacity:1;border-color:var(--od-accent)}
#slider2,#carousel{display:none!important}
@media(max-width:900px){.od-native-stage{height:min(68vw,500px);min-height:230px;border-radius:15px}.od-native-prev,.od-native-next{width:40px;height:40px;font-size:30px;line-height:34px}.od-native-prev{left:9px}.od-native-next{right:9px}}
@media(max-width:600px){.od-native-stage{height:72vw;min-height:205px;border-radius:13px}.od-native-thumb{flex-basis:72px;width:72px;height:50px}.od-native-thumbs{gap:6px}.od-native-count{right:10px;bottom:10px}}


/* v3.4 - separatore dettagli / dotazioni */
.od-detail-divider{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:22px 0 14px!important;
  color:#263043!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
.od-detail-divider:before,
.od-detail-divider:after{
  content:""!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#d8dde6)!important;
  flex:1!important;
}
.od-detail-divider:before{background:linear-gradient(90deg,transparent,#d8dde6)!important}
.od-detail-divider:after{background:linear-gradient(90deg,#d8dde6,transparent)!important}

/* Nasconde i vecchi comandi social/di stampa del tema nella scheda auto */
#social,
#social .printbutton,
.printbutton{
  display:none!important;
}


/* v3.5 - separatore Dettagli / Dotazioni */
#od-detail-content-divider{
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
    width:100%!important;
    margin:28px 0 18px!important;
    padding:0!important;
    clear:both!important;
}
#od-detail-content-divider .od-divider-line{
    height:1px!important;
    flex:1 1 auto!important;
    background:linear-gradient(90deg,transparent,#cfd5df,transparent)!important;
}
#od-detail-content-divider .od-divider-label{
    flex:0 0 auto!important;
    padding:9px 16px!important;
    border:1px solid #e0e4ea!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#273142!important;
    font-size:11px!important;
    font-weight:850!important;
    letter-spacing:.09em!important;
}
#social,
#socialshare,
.socialshare,
.printbutton,
.tweetbutton{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
@media(max-width:600px){
 #od-detail-content-divider{gap:8px!important;margin:22px 0 14px!important}
 #od-detail-content-divider .od-divider-label{font-size:9px!important;padding:8px 11px!important;letter-spacing:.06em!important}
}


/* v3.6 - scheda auto: carosello sempre sopra, tutti i blocchi sotto */
@media (min-width: 901px){
  .od-detail-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
    margin-top:8px!important;
  }
  .od-detail-media{
    position:relative!important;
    top:auto!important;
    width:100%!important;
  }
  .od-detail-info{
    width:100%!important;
    display:block!important;
  }
  .od-native-stage{
    width:100%!important;
    height:clamp(480px,48vw,760px)!important;
    min-height:480px!important;
    border-radius:20px!important;
  }
  .od-native-main{object-fit:contain!important}
  .od-native-thumbs{padding-top:12px!important}
}
.od-detail-info > #videos,
.od-detail-info > #details,
.od-detail-info > #listingcontent{
  width:100%!important;
  max-width:none!important;
}
.od-detail-info > #videos{margin-top:0!important;margin-bottom:24px!important}
.od-detail-info > #details{margin-top:0!important;margin-bottom:24px!important}
.od-detail-info > #listingcontent{margin-top:0!important}

/* Gerarchia visiva: categoria/padre -> caratteristiche/figli -> dettagli */
.od-parent-heading-v36{
  display:block!important;
  margin:0 0 12px!important;
  padding:12px 16px!important;
  border-radius:12px!important;
  background:#f1f4f8!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.od-child-heading{
  display:block!important;
  margin:0 0 10px!important;
  color:#5b6575!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
}
.od-detail-info #details .specslist{
  margin-top:0!important;
  margin-bottom:18px!important;
}
.od-details-divider-v36{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:28px 0 16px!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.od-details-divider-v36:before,.od-details-divider-v36:after{
  content:""!important;
  height:1px!important;
  background:#d9dee7!important;
  flex:1 1 auto!important;
}
@media(max-width:900px){
  .od-detail-layout{grid-template-columns:1fr!important;gap:20px!important}
  .od-detail-media{position:relative!important;top:auto!important}
  .od-native-stage{height:min(72vw,560px)!important;min-height:240px!important}
}


/* =========================================================
   OpenDoorModern v3.7 — Premium Global Header / Logo
   ========================================================= */

#header {
  position: relative !important;
  min-height: 96px !important;
  padding: 14px 24px !important;
  background:
    radial-gradient(circle at 8% 50%, rgba(255,255,255,.98) 0, rgba(255,255,255,.72) 30%, transparent 62%),
    linear-gradient(135deg, #fff 0%, #f7f8fa 55%, #eef1f4 100%) !important;
  border: 1px solid rgba(17,24,39,.07) !important;
  border-radius: 22px 22px 0 0 !important;
  box-shadow: 0 10px 34px rgba(16,24,40,.07), inset 0 1px 0 rgba(255,255,255,.95) !important;
  overflow: hidden;
}

#header::before {
  content: "";
  position: absolute;
  left: -12%;
  top: -90%;
  width: 48%;
  height: 280%;
  transform: rotate(16deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
  pointer-events: none;
  opacity: .55;
}

#header::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, transparent, rgba(17,24,39,.16) 18%, rgba(17,24,39,.06) 82%, transparent);
  pointer-events: none;
}

#logo {
  position: relative !important;
  z-index: 3 !important;
  width: 238px !important;
  height: 70px !important;
  flex: 0 0 238px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(17,24,39,.07);
  box-shadow: 0 8px 24px rgba(16,24,40,.06), inset 0 1px 0 rgba(255,255,255,.95);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

#logo:hover {
  transform: translateY(-1px);
  border-color: rgba(17,24,39,.13);
  box-shadow: 0 12px 30px rgba(16,24,40,.10), inset 0 1px 0 rgba(255,255,255,.98);
}

#logo::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 13px;
  bottom: 13px;
  width: 3px;
  border-radius: 99px;
  background: var(--od-dark, #111827);
  opacity: .9;
  z-index: 4;
  pointer-events: none;
}

#logo a {
  position: relative;
  z-index: 2;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  border-radius: 14px;
}

#headertextandsocialicons {
  position: relative;
  z-index: 3;
  margin-left: auto !important;
  padding: 7px 4px 7px 18px;
  min-width: 0;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  border-left: 1px solid rgba(17,24,39,.08);
}

#headertext {
  color: #667085 !important;
  font-size: 13px !important;
  font-weight: 500;
  letter-spacing: .01em;
}

#socialheader {
  display: flex !important;
  align-items: center;
  gap: 7px;
}

#socialheader a {
  width: 34px;
  height: 34px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(17,24,39,.07);
  opacity: .82 !important;
  transition: transform .2s ease, opacity .2s ease, background .2s ease;
}

#socialheader a:hover {
  transform: translateY(-2px);
  opacity: 1 !important;
  background: #fff;
}

#menubar {
  min-height: 54px !important;
  border-radius: 0 0 20px 20px !important;
  box-shadow: 0 16px 36px rgba(16,24,40,.13) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

#menubar ul.sf-menu > li > a {
  border-radius: 10px;
  transition: background .18s ease, transform .18s ease, color .18s ease;
}

#menubar ul.sf-menu > li:hover > a,
#menubar ul.sf-menu > li.sfHover > a {
  transform: translateY(-1px);
}

#logo2 {
  opacity: .70;
  transform: scale(.88);
  transform-origin: right center;
}

@media (max-width: 900px) {
  #header {
    min-height: 82px !important;
    padding: 11px 16px !important;
    border-radius: 18px 18px 0 0 !important;
  }

  #header::after {
    left: 16px;
    right: 16px;
  }

  #logo {
    width: 205px !important;
    height: 60px !important;
    flex-basis: 205px !important;
    border-radius: 14px;
  }

  #logo::after {
    left: 8px;
    top: 11px;
    bottom: 11px;
  }

  #headertextandsocialicons {
    gap: 10px !important;
    padding-left: 12px;
  }

  #logo2 {
    display: none !important;
  }
}

@media (max-width: 600px) {
  #header {
    min-height: 74px !important;
    padding: 9px 11px !important;
    border-radius: 15px 15px 0 0 !important;
  }

  #header::after {
    left: 11px;
    right: 11px;
  }

  #logo {
    width: 176px !important;
    height: 54px !important;
    flex-basis: 176px !important;
    border-radius: 12px;
  }

  #logo::after {
    left: 7px;
    top: 10px;
    bottom: 10px;
    width: 2px;
  }

  #headertext,
  #socialheader {
    display: none !important;
  }

  #headertextandsocialicons {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  #menubar {
    min-height: 50px !important;
    border-radius: 0 0 15px 15px !important;
  }
}

@media (max-width: 390px) {
  #logo {
    width: 158px !important;
    height: 50px !important;
    flex-basis: 158px !important;
  }
}


/* =========================================================
   v3.8 — SINGLE GLOBAL NAVIGATION
   Keep only the main #menubar navigation. OpenDoor's legacy
   secondary header menu is intentionally suppressed.
   ========================================================= */
#secondaryheadermenucontainer,
#secondaryheadermenucontainer #secondaryheadermenu,
.od-duplicate-navigation {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

#menubar.od-duplicate-navigation {
  display: none !important;
}

/* Any Superfish menu that is not the canonical main menu is hidden. */
body ul.sf-menu:not(#menubar ul.sf-menu) {
  display: none !important;
}

#menubar {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
}

/* =========================================================
   v3.12 — SMALL LOGIN IN THE UPPER HEADER
   The login is separate from the main navigation and stays in the
   upper area where the original account control lived.
   ========================================================= */
#header .od-top-login {
  position: absolute !important;
  top: 8px !important;
  right: 12px !important;
  z-index: 100 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#header .od-top-login-item,
#header .od-top-login #login,
#header .od-top-login #loginbox,
#header .od-top-login #login-box,
#header .od-top-login .loginbox,
#header .od-top-login .login-box,
#header .od-top-login .user-login,
#header .od-top-login .userlogin {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#header .od-top-login a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  padding: 2px 8px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
#header .od-top-login a:hover {
  background: rgba(255,255,255,.12) !important;
}

/* Never let the old navigation return, even though its container may remain
   visible to host the small login control. */
#secondaryheadermenucontainer #secondaryheadermenu,
#secondaryheadermenu.od-duplicate-navigation {
  display: none !important;
  visibility: hidden !important;
}

@media (max-width: 600px) {
  #header .od-top-login {
    top: 5px !important;
    right: 8px !important;
  }
  #header .od-top-login a {
    min-height: 22px !important;
    padding: 2px 7px !important;
    font-size: 11px !important;
  }
}

/* =========================================================
   v3.13 — Login + social header modernizzati
   I social sono separati dal login, con spazio visivo e icone
   compatte. I link vengono configurati da Aspetto > Personalizza > Social.
   ========================================================= */
#header .od-top-login {
  right: 16px !important;
  top: 7px !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 6px !important;
}
#header .od-top-login > .od-top-login-item,
#header .od-top-login > a {
  margin-bottom: 2px !important;
}
#header .od-header-socials {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  margin-top: 4px !important;
  padding-top: 5px !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
}
#header .od-header-social {
  width: 27px !important;
  height: 27px !important;
  min-width: 27px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.12) !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}
#header .od-header-social:hover {
  transform: translateY(-2px) !important;
  background: rgba(255,255,255,.20) !important;
  border-color: rgba(255,255,255,.30) !important;
}
#header .od-header-social-facebook { font-family: Arial, sans-serif !important; }
#header .od-header-social-instagram { font-size: 18px !important; }
#header .od-header-social-tiktok { font-size: 17px !important; }
#header .od-header-social-youtube { font-size: 12px !important; }

@media (max-width: 600px) {
  #header .od-top-login {
    right: 8px !important;
    top: 5px !important;
    gap: 4px !important;
  }
  #header .od-header-socials {
    gap: 4px !important;
    margin-top: 2px !important;
    padding-top: 4px !important;
  }
  #header .od-header-social {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    font-size: 12px !important;
  }
}

/* v3.14 — remove the parent theme's legacy header social icons.
   Only the new social icons configured in Personalizza > Social remain. */
#header #socialheader,
#header #socialheadericons,
#header .socialheader,
#header .header-social,
#header .header-social-icons,
#header .social-header,
#header .social-header-icons,
#header .od-legacy-header-socials {
  display: none !important;
  visibility: hidden !important;
}

/* Keep a clear visual separation between Login and the new social row. */
#header .od-top-login {
  gap: 10px !important;
}
#header .od-header-socials {
  margin-top: 7px !important;
  padding-top: 7px !important;
}


/* =========================================================
   v3.15 — TOP UTILITY ACTIONS
   Login, Dashboard and Nuova Auto stay together in the upper header,
   small, aligned and clearly separated from the main navigation.
   ========================================================= */
#header .od-top-login {
  top: 7px !important;
  right: 16px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
  white-space: nowrap !important;
}
#header .od-top-login > .od-top-login-item,
#header .od-top-login > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 2px 9px !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}
#header .od-top-login > .od-top-login-item + .od-top-login-item,
#header .od-top-login > a + a,
#header .od-top-login > .od-top-login-item + a,
#header .od-top-login > a + .od-top-login-item {
  border-left: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 0 !important;
}
#header .od-top-login a:hover {
  background: rgba(255,255,255,.12) !important;
}
#header .od-header-socials {
  margin-top: 9px !important;
  padding-top: 7px !important;
}

@media (max-width: 600px) {
  #header .od-top-login {
    top: 5px !important;
    right: 8px !important;
    max-width: calc(100% - 170px) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }
  #header .od-top-login::-webkit-scrollbar { display: none !important; }
  #header .od-top-login > .od-top-login-item,
  #header .od-top-login > a {
    min-height: 21px !important;
    padding: 2px 6px !important;
    font-size: 10px !important;
  }
  #header .od-header-socials {
    margin-top: 7px !important;
    padding-top: 5px !important;
  }
}

/* ================================================================
   v3.17 — Homepage inventory + larger proportional logo
   ================================================================ */
#logo {
  width: 250px !important;
  height: 84px !important;
  flex-basis: 250px !important;
}
#logo a { background-size: contain !important; }
#header { min-height: 120px !important; }

#od-home-inventory {
  width: 100%;
  box-sizing: border-box;
  margin: 24px 0 30px;
}
#od-home-inventory .od-home-section {
  background: var(--od-surface);
  border: 1px solid var(--od-border);
  border-radius: var(--od-radius);
  box-shadow: var(--od-shadow);
  padding: 24px;
  margin: 0 0 22px;
}
#od-home-inventory .od-home-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
#od-home-inventory .od-home-eyebrow {
  display: block;
  color: var(--od-accent);
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .14em;
  margin-bottom: 6px;
}
#od-home-inventory h2 {
  margin: 0 !important;
  color: var(--od-text) !important;
  font-size: 25px !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
}
#od-home-inventory .od-home-section-count {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--od-surface-2);
  border: 1px solid var(--od-border);
  color: var(--od-muted);
  font-size: 11px;
  font-weight: 800;
}
#od-home-inventory .od-home-latest-list,
#od-home-inventory .od-home-all-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#od-home-inventory .od-home-car {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  min-height: 148px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--od-border);
  border-radius: 15px;
  box-shadow: 0 5px 18px rgba(16,24,40,.045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
#od-home-inventory .od-home-car:hover {
  transform: translateY(-2px);
  border-color: #d5dce7;
  box-shadow: var(--od-shadow-hover);
}
#od-home-inventory .od-home-car-image {
  display: block;
  min-height: 148px;
  background: var(--od-surface-2);
  overflow: hidden;
}
#od-home-inventory .od-home-car-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 148px;
  object-fit: cover;
  transition: transform .25s ease;
}
#od-home-inventory .od-home-car:hover .od-home-car-image img { transform: scale(1.025); }
#od-home-inventory .od-home-car-body {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
}
#od-home-inventory .od-home-car-main { min-width: 0; }
#od-home-inventory .od-home-car h3 {
  margin: 0 0 8px !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}
#od-home-inventory .od-home-car h3 a { color: var(--od-text) !important; text-decoration: none !important; }
#od-home-inventory .od-home-car h3 a:hover { color: var(--od-accent) !important; }
#od-home-inventory .od-home-car-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  color: var(--od-muted);
  font-size: 11px;
}
#od-home-inventory .od-home-car-facts span {
  padding: 5px 8px;
  border-radius: 7px;
  background: var(--od-surface-2);
  border: 1px solid var(--od-border);
}
#od-home-inventory .od-home-car-facts strong { color: var(--od-text); }
#od-home-inventory .od-home-car-side {
  flex: 0 0 auto;
  min-width: 150px;
  text-align: right;
}
#od-home-inventory .od-home-car-price {
  color: var(--od-text);
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
  margin-bottom: 9px;
}
#od-home-inventory .od-home-car-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border-radius: 9px;
  background: var(--od-dark);
  color: #fff !important;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none !important;
}
#od-home-inventory .od-home-car-button:hover { background: var(--od-accent); transform: translateY(-1px); }

@media (max-width: 760px) {
  #header { min-height: 98px !important; }
  #logo { width: 200px !important; height: 67px !important; flex-basis: 200px !important; }
  #od-home-inventory { margin-top: 16px; }
  #od-home-inventory .od-home-section { padding: 16px; border-radius: 15px; }
  #od-home-inventory .od-home-section-head { align-items: flex-start; }
  #od-home-inventory h2 { font-size: 21px !important; }
  #od-home-inventory .od-home-section-count { font-size: 10px; }
  #od-home-inventory .od-home-car { grid-template-columns: 125px minmax(0,1fr); min-height: 126px; border-radius: 12px; }
  #od-home-inventory .od-home-car-image,
  #od-home-inventory .od-home-car-image img { min-height: 126px; }
  #od-home-inventory .od-home-car-body { display: block; padding: 12px; }
  #od-home-inventory .od-home-car h3 { font-size: 14px !important; margin-bottom: 6px !important; }
  #od-home-inventory .od-home-car-facts { gap: 4px; font-size: 9px; }
  #od-home-inventory .od-home-car-facts span { padding: 4px 5px; }
  #od-home-inventory .od-home-car-side { min-width: 0; margin-top: 9px; text-align: left; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  #od-home-inventory .od-home-car-price { font-size: 16px; margin: 0; }
  #od-home-inventory .od-home-car-button { padding: 7px 9px; font-size: 9px; }
}


/* ================================================================
   v3.18 — Homepage inventory scorrevole + annunci prima del footer
   ================================================================ */
#od-home-latest .od-home-latest-list {
  max-height: 610px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 4px 10px 4px 2px !important;
  scrollbar-width: thin;
}
#od-home-latest .od-home-latest-list::-webkit-scrollbar { width: 7px; }
#od-home-latest .od-home-latest-list::-webkit-scrollbar-track {
  background: var(--od-surface-2);
  border-radius: 999px;
}
#od-home-latest .od-home-latest-list::-webkit-scrollbar-thumb {
  background: #b8c0cc;
  border-radius: 999px;
}
#od-home-latest .od-home-latest-list .od-home-car {
  flex: 0 0 auto;
}

/* Tutti gli annunci: spazio pieno prima del piedipagina. */
#od-home-all {
  margin-bottom: 36px !important;
}
#od-home-all .od-home-all-list {
  max-height: none !important;
  overflow: visible !important;
}

@media (max-width: 760px) {
  #od-home-latest .od-home-latest-list {
    max-height: 530px !important;
    padding-right: 7px !important;
  }
}


/* ================================================================
   v3.19 — Homepage: niente card "Ultime auto"; ricerca originale visibile;
   solo inventario completo sotto la ricerca.
   ================================================================ */
#od-home-latest { display: none !important; }
#od-home-inventory {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 24px auto 36px !important;
  box-sizing: border-box !important;
}
#od-home-inventory .od-home-all-list {
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
#od-home-inventory .od-home-car { flex: 0 0 auto !important; }
@media (max-width: 760px) {
  #od-home-inventory { margin-top: 16px !important; }
}

/* ================================================================
   v3.21 — Ultime 6 verticali + inventario + confronto
   ================================================================ */
#od-home-latest { display:block !important; width:100% !important; max-width:1180px !important; margin:24px auto 18px !important; }
#od-home-latest .od-home-latest-list { max-height:610px !important; overflow-y:auto !important; overflow-x:hidden !important; display:flex !important; flex-direction:column !important; gap:12px !important; padding:4px 10px 4px 2px !important; }
#od-home-latest .od-home-car { flex:0 0 auto !important; }
#od-home-inventory { width:100% !important; max-width:1180px !important; margin:24px auto 36px !important; }
#od-home-inventory .od-home-all-list { display:flex !important; flex-direction:column !important; gap:12px !important; overflow:visible !important; max-height:none !important; }
.od-home-car { position:relative !important; }
.od-home-compare-check { position:absolute !important; top:10px !important; right:10px !important; z-index:5 !important; display:flex !important; align-items:center !important; gap:6px !important; padding:6px 9px !important; border-radius:999px !important; background:rgba(255,255,255,.94) !important; box-shadow:0 4px 14px rgba(0,0,0,.10) !important; font-size:11px !important; font-weight:700 !important; cursor:pointer !important; }
.od-home-compare-check input { margin:0 !important; accent-color:var(--od-accent) !important; }
.od-home-compare-bar { position:fixed !important; left:50% !important; bottom:18px !important; transform:translateX(-50%) !important; z-index:99999 !important; display:flex !important; align-items:center !important; gap:14px !important; padding:10px 12px 10px 16px !important; border-radius:999px !important; background:var(--od-text,#111827) !important; color:#fff !important; box-shadow:0 12px 35px rgba(0,0,0,.25) !important; font-size:12px !important; font-weight:700 !important; }
.od-home-compare-bar a { display:inline-flex !important; align-items:center !important; padding:8px 13px !important; border-radius:999px !important; background:var(--od-accent,#2563eb) !important; color:#fff !important; text-decoration:none !important; }
.od-home-compare-bar button { border:0 !important; background:transparent !important; color:#fff !important; font-size:20px !important; line-height:1 !important; cursor:pointer !important; }
@media(max-width:760px){
 #od-home-latest .od-home-latest-list{max-height:540px!important;padding-right:7px!important;}
 .od-home-compare-check{top:7px!important;right:7px!important;font-size:9px!important;padding:5px 7px!important;}
 .od-home-compare-bar{bottom:10px!important;max-width:calc(100% - 20px)!important;gap:8px!important;padding:8px 9px 8px 12px!important;}
 .od-home-compare-bar a{padding:7px 10px!important;font-size:11px!important;}
}

/* ================================================================
   v3.24 — Homepage: rimuove intestazione Novità dalle auto orizzontali
   e mantiene il copyright sotto tutto il contenuto.
   ================================================================ */
#od-home-latest > .od-home-section-head { display:none !important; }
#od-home-latest #od-home-inventory { margin-top:0 !important; }
#belowfooter { position:relative !important; z-index:2 !important; }

/* ================================================================
   v3.22 — Unico riquadro Novità: ultimi 6 + tutti gli annunci sotto
   ================================================================ */
#od-home-latest {
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
  margin:24px auto 36px !important;
  box-sizing:border-box !important;
  background:var(--od-surface,#fff) !important;
  border:1px solid var(--od-border,#e5e7eb) !important;
  border-radius:var(--od-radius,18px) !important;
  box-shadow:var(--od-shadow,0 8px 30px rgba(0,0,0,.06)) !important;
  padding:24px !important;
}
#od-home-latest .od-home-latest-list {
  max-height:610px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  padding:4px 8px 4px 2px !important;
}
#od-home-latest .od-home-car {
  flex:0 0 auto !important;
}
#od-home-inventory {
  width:100% !important;
  max-width:none !important;
  margin:26px 0 0 !important;
  padding:20px 0 0 !important;
  border-top:1px solid var(--od-border,#e5e7eb) !important;
}
#od-home-inventory .od-home-section-head { margin-bottom:16px !important; }
#od-home-inventory .od-home-all-list {
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  overflow:visible !important;
  max-height:none !important;
}
#od-home-inventory .od-home-car {
  display:grid !important;
  grid-template-columns:220px minmax(0,1fr) !important;
  min-height:148px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid var(--od-border,#e5e7eb) !important;
  border-radius:15px !important;
}
#od-home-inventory .od-home-car-image,
#od-home-inventory .od-home-car-image img { min-height:148px !important; }
.od-home-compare-check { position:absolute !important; top:10px !important; right:10px !important; z-index:5 !important; }
@media(max-width:760px){
  #od-home-latest { padding:16px !important; margin:16px auto 28px !important; }
  #od-home-latest .od-home-latest-list { max-height:540px !important; }
  #od-home-inventory { margin-top:20px !important; padding-top:16px !important; }
  #od-home-inventory .od-home-car { grid-template-columns:125px minmax(0,1fr) !important; min-height:126px !important; }
  #od-home-inventory .od-home-car-image,
  #od-home-inventory .od-home-car-image img { min-height:126px !important; }
}


/* ================================================================
   v3.25 — Tutti gli annunci orizzontali sotto le Novità
   ================================================================ */
#od-home-inventory {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:26px 0 0 !important;
  padding:20px 0 0 !important;
  border-top:1px solid var(--od-border,#e5e7eb) !important;
}
#od-home-inventory .od-home-all-list {
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  overflow:visible !important;
  max-height:none !important;
}
#od-home-inventory .od-home-car {
  display:grid !important;
  grid-template-columns:220px minmax(0,1fr) !important;
  align-items:stretch !important;
  width:100% !important;
  min-height:148px !important;
  position:relative !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
#od-home-inventory .od-home-car-image {
  display:block !important;
  width:220px !important;
  min-height:148px !important;
  height:100% !important;
  overflow:hidden !important;
}
#od-home-inventory .od-home-car-image img {
  display:block !important;
  width:100% !important;
  height:148px !important;
  object-fit:cover !important;
}
#od-home-inventory .od-home-car-body {
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:18px 150px 18px 20px !important;
  box-sizing:border-box !important;
}
#od-home-inventory .od-home-car-main { min-width:0 !important; }
#od-home-inventory .od-home-car h3 { margin:0 0 10px !important; }
#od-home-inventory .od-home-car-side {
  flex:0 0 auto !important;
  text-align:right !important;
}
#od-home-inventory .od-home-compare-check {
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  z-index:10 !important;
}
@media(max-width:760px){
  #od-home-inventory { margin-top:20px !important; padding-top:16px !important; }
  #od-home-inventory .od-home-car { grid-template-columns:125px minmax(0,1fr) !important; min-height:126px !important; }
  #od-home-inventory .od-home-car-image { width:125px !important; min-height:126px !important; }
  #od-home-inventory .od-home-car-image img { height:126px !important; }
  #od-home-inventory .od-home-car-body { padding:12px 90px 12px 12px !important; gap:8px !important; }
  #od-home-inventory .od-home-car-side { text-align:left !important; }
}



/* ================================================================
   v3.27 — SOLO INVENTARIO ORIZZONTALE
   La sezione "Ultimi aggiunti" custom non deve più apparire.
   ================================================================ */
#od-home-latest { display:none !important; }
#od-home-inventory {
  display:block !important;
  width:100vw !important;
  max-width:none !important;
  margin:24px 0 36px !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 36px !important;
  border:0 !important;
  box-sizing:border-box !important;
}
#od-home-inventory .od-home-all-list {
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  overflow:visible !important;
  max-height:none !important;
}
#od-home-inventory .od-home-car {
  display:grid !important;
  grid-template-columns:220px minmax(0,1fr) !important;
  align-items:stretch !important;
  width:100% !important;
  min-height:148px !important;
  position:relative !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
#od-home-inventory .od-home-car-image,
#od-home-inventory .od-home-car-image img {
  width:220px !important;
  min-height:148px !important;
  height:148px !important;
}
#od-home-inventory .od-home-car-image img { object-fit:cover !important; display:block !important; }
#od-home-inventory .od-home-car-body {
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:18px 150px 18px 20px !important;
}
#od-home-inventory .od-home-car-main { min-width:0 !important; }
#od-home-inventory .od-home-car-main h3 { margin:0 0 10px !important; }
#od-home-inventory .od-home-car-side { flex:0 0 auto !important; }
#od-home-inventory .od-home-compare-check { position:absolute !important; top:10px !important; right:10px !important; z-index:5 !important; }
@media(max-width:760px){
  #od-home-inventory { margin:18px auto 28px !important; }
  #od-home-inventory .od-home-car { grid-template-columns:125px minmax(0,1fr) !important; min-height:126px !important; }
  #od-home-inventory .od-home-car-image,
  #od-home-inventory .od-home-car-image img { width:125px !important; min-height:126px !important; height:126px !important; }
  #od-home-inventory .od-home-car-body { padding:14px 110px 14px 14px !important; gap:10px !important; }
}


/* ================================================================
   v3.28 — INVENTARIO A TUTTA LARGHEZZA
   Gli annunci orizzontali occupano tutta la larghezza disponibile
   della pagina, mantenendo foto, informazioni e Confronta.
   ================================================================ */
#od-home-inventory {
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:36px !important;
  padding-right:36px !important;
  box-sizing:border-box !important;
}
#od-home-inventory .od-home-all-list {
  width:100% !important;
}
#od-home-inventory .od-home-car {
  width:100% !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  #od-home-inventory {
    width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }
}


/* v3.29 — ALLINEAMENTO GENERALE INVENTARIO */
#od-home-inventory {
  width:100% !important;
  max-width:1180px !important;
  margin:24px auto 40px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
#od-home-inventory .od-home-all-list {
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
#od-home-inventory .od-home-car {
  width:100% !important;
  margin:0 0 14px !important;
  box-sizing:border-box !important;
  align-items:stretch !important;
}
#od-home-inventory .od-home-car-image {
  align-self:stretch !important;
}
#od-home-inventory .od-home-car-image img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
#od-home-inventory .od-home-car-body {
  min-width:0 !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  #od-home-inventory { width:100% !important; max-width:none !important; margin:18px 0 28px !important; padding:0 10px !important; }
}


/* v3.32 — titolo sopra l'inventario orizzontale */
#od-home-inventory .od-home-inventory-title {
  display:block !important;
  width:100% !important;
  margin:0 0 16px !important;
  padding:0 !important;
  font-size:28px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  text-align:left !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  #od-home-inventory .od-home-inventory-title {
    font-size:23px !important;
    margin-bottom:13px !important;
  }
}

/* v3.33 — MOBILE: annunci leggibili e senza compressione */
@media (max-width:760px){
  #od-home-inventory {
    width:100% !important;
    max-width:100% !important;
    margin:18px 0 30px !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
  }
  #od-home-inventory .od-home-inventory-title {
    font-size:22px !important;
    line-height:1.25 !important;
    margin:0 0 12px !important;
  }
  #od-home-inventory .od-home-all-list {
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }
  #od-home-inventory .od-home-car {
    display:grid !important;
    grid-template-columns:minmax(105px,38%) minmax(0,1fr) !important;
    width:100% !important;
    min-height:150px !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  #od-home-inventory .od-home-car-image,
  #od-home-inventory .od-home-car-image img {
    width:100% !important;
    height:150px !important;
    min-height:150px !important;
  }
  #od-home-inventory .od-home-car-image img {
    object-fit:cover !important;
  }
  #od-home-inventory .od-home-car-body {
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:7px !important;
    padding:14px 62px 14px 14px !important;
    box-sizing:border-box !important;
  }
  #od-home-inventory .od-home-car-main {
    width:100% !important;
    min-width:0 !important;
  }
  #od-home-inventory .od-home-car-main h3 {
    font-size:16px !important;
    line-height:1.25 !important;
    margin:0 0 7px !important;
    overflow-wrap:anywhere !important;
  }
  #od-home-inventory .od-home-car-main p,
  #od-home-inventory .od-home-car-main span {
    font-size:13px !important;
    line-height:1.35 !important;
  }
  #od-home-inventory .od-home-car-side {
    width:100% !important;
    min-width:0 !important;
    text-align:left !important;
  }
  #od-home-inventory .od-home-car-side strong,
  #od-home-inventory .od-home-car-side .price {
    font-size:16px !important;
  }
  #od-home-inventory .od-home-compare-check {
    top:9px !important;
    right:8px !important;
    max-width:52px !important;
    font-size:11px !important;
    line-height:1.1 !important;
    white-space:normal !important;
    text-align:center !important;
  }
}

@media (max-width:430px){
  #od-home-inventory { padding:0 8px !important; }
  #od-home-inventory .od-home-car {
    grid-template-columns:112px minmax(0,1fr) !important;
    min-height:138px !important;
  }
  #od-home-inventory .od-home-car-image,
  #od-home-inventory .od-home-car-image img {
    height:138px !important;
    min-height:138px !important;
  }
  #od-home-inventory .od-home-car-body {
    padding:12px 58px 12px 11px !important;
    gap:5px !important;
  }
  #od-home-inventory .od-home-car-main h3 { font-size:15px !important; }
}

/* v3.34 — MOBILE: layout più arioso e leggibile */
@media (max-width:760px){
  #od-home-inventory .od-home-all-list{gap:16px !important;}
  #od-home-inventory .od-home-car{
    grid-template-columns:42% minmax(0,58%) !important;
    min-height:180px !important;
    border-radius:12px !important;
  }
  #od-home-inventory .od-home-car-image,
  #od-home-inventory .od-home-car-image img{
    height:180px !important;
    min-height:180px !important;
  }
  #od-home-inventory .od-home-car-body{
    padding:18px 16px !important;
    gap:9px !important;
  }
  #od-home-inventory .od-home-car-main h3{
    font-size:17px !important;
    line-height:1.3 !important;
    margin-bottom:8px !important;
  }
  #od-home-inventory .od-home-car-main p,
  #od-home-inventory .od-home-car-main span{
    font-size:14px !important;
    line-height:1.4 !important;
  }
  #od-home-inventory .od-home-car-side{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }
  #od-home-inventory .od-home-car-side strong,
  #od-home-inventory .od-home-car-side .price{
    font-size:18px !important;
  }
  #od-home-inventory .od-home-compare-check{
    top:auto !important;
    right:10px !important;
    bottom:10px !important;
    max-width:none !important;
    white-space:nowrap !important;
    font-size:12px !important;
    line-height:1 !important;
    padding:7px 9px !important;
  }
}
@media (max-width:430px){
  #od-home-inventory{padding:0 8px !important;}
  #od-home-inventory .od-home-car{
    grid-template-columns:40% minmax(0,60%) !important;
    min-height:165px !important;
  }
  #od-home-inventory .od-home-car-image,
  #od-home-inventory .od-home-car-image img{
    height:165px !important;
    min-height:165px !important;
  }
  #od-home-inventory .od-home-car-body{
    padding:15px 13px !important;
    gap:7px !important;
  }
  #od-home-inventory .od-home-car-main h3{font-size:16px !important;}
  #od-home-inventory .od-home-car-main p,
  #od-home-inventory .od-home-car-main span{font-size:13px !important;}
  #od-home-inventory .od-home-car-side strong,
  #od-home-inventory .od-home-car-side .price{font-size:17px !important;}
}

/* v3.35 — MOBILE DETAIL FIX: no overlap, spacing reserved for Confronta */
@media (max-width:760px){
  #od-home-inventory .od-home-car{
    grid-template-columns: 40% minmax(0,1fr) !important;
    min-height: 210px !important;
    height: auto !important;
    overflow: hidden !important;
    align-items: stretch !important;
  }
  #od-home-inventory .od-home-car-image,
  #od-home-inventory .od-home-car-image img{
    width:100% !important;
    height:210px !important;
    min-height:210px !important;
    display:block !important;
  }
  #od-home-inventory .od-home-car-body{
    min-width:0 !important;
    min-height:210px !important;
    height:auto !important;
    box-sizing:border-box !important;
    padding:16px 12px 54px 16px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    gap:10px !important;
    overflow:hidden !important;
  }
  #od-home-inventory .od-home-car-main,
  #od-home-inventory .od-home-car-side{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  #od-home-inventory .od-home-car-main h3{
    margin:0 0 9px !important;
    font-size:16px !important;
    line-height:1.3 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  #od-home-inventory .od-home-car-facts{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px 7px !important;
    width:100% !important;
  }
  #od-home-inventory .od-home-car-facts span{
    display:block !important;
    font-size:12px !important;
    line-height:1.3 !important;
    white-space:normal !important;
  }
  #od-home-inventory .od-home-car-side{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
  }
  #od-home-inventory .od-home-car-price{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    font-size:18px !important;
    line-height:1.25 !important;
  }
  #od-home-inventory .od-home-car-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
    padding:8px 11px !important;
    font-size:12px !important;
  }
  #od-home-inventory .od-home-compare-check{
    position:absolute !important;
    left:auto !important;
    right:9px !important;
    top:auto !important;
    bottom:9px !important;
    z-index:20 !important;
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    width:auto !important;
    max-width:calc(60% - 18px) !important;
    box-sizing:border-box !important;
    padding:7px 9px !important;
    margin:0 !important;
    background:rgba(255,255,255,.96) !important;
    border-radius:7px !important;
    white-space:nowrap !important;
    line-height:1 !important;
  }
  #od-home-inventory .od-home-compare-check span{font-size:12px !important;}
}

@media (max-width:430px){
  #od-home-inventory .od-home-car{
    grid-template-columns: 38% minmax(0,1fr) !important;
    min-height:205px !important;
  }
  #od-home-inventory .od-home-car-image,
  #od-home-inventory .od-home-car-image img{
    height:205px !important;
    min-height:205px !important;
  }
  #od-home-inventory .od-home-car-body{
    min-height:205px !important;
    padding:15px 10px 53px 14px !important;
    gap:9px !important;
  }
  #od-home-inventory .od-home-car-main h3{font-size:15px !important;}
  #od-home-inventory .od-home-car-facts span{font-size:11.5px !important;}
  #od-home-inventory .od-home-car-price{font-size:17px !important;}
  #od-home-inventory .od-home-car-button{font-size:11.5px !important;padding:7px 9px !important;}
  #od-home-inventory .od-home-compare-check{right:7px !important;bottom:7px !important;font-size:11px !important;padding:6px 8px !important;}
}


/* ================================================================
   v3.42 — Unified vehicle cards + reduced-price green state
   Visual only: existing OpenDoor templates, links and functionality stay intact.
   ================================================================ */

/* ALL native listing cards follow the same card language used by Home > Novità. */
#listings .listingblockgrid,
#listings .listingblock {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  border-radius: var(--od-radius) !important;
  box-shadow: var(--od-shadow) !important;
}
#listings .listingblockgrid:hover,
#listings .listingblock:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--od-shadow-hover) !important;
  border-color: #d7dde7 !important;
}
#listings .listingblock > .four.columns,
#listings .listingblock > .eight.columns,
#listings .listingblockgrid > .four.columns,
#listings .listingblockgrid > .eight.columns,
#listings .listingblock .vignette,
#listings .listingblockgrid .vignette {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}
#listings .listingblock .vignette,
#listings .listingblockgrid .vignette {
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
}
#listings .listingblock .vignette img,
#listings .listingblockgrid .vignette img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
#listings .listingblock .listingblocksection,
#listings .listingblockgrid .listingblocksection {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  padding: 18px !important;
}
#listings .listingblock .btn,
#listings .listingblockgrid .btn { margin-top: auto !important; width: 100% !important; }

/* The price field becomes a green box whenever the OpenDoor reduced marker exists. */
#listings .listingblock .price,
#listings .listingblockgrid .price {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 9px 12px !important;
  margin: 0 0 10px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
  background: #101828 !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}
#listings .listingblock .price a,
#listings .listingblock .price span,
#listings .listingblockgrid .price a,
#listings .listingblockgrid .price span { color: #fff !important; }
#listings .listingblock .price.od-price-reduced,
#listings .listingblockgrid .price.od-price-reduced,
#od-home-inventory .od-home-car-price.od-price-reduced {
  background: #198754 !important;
  border-color: #198754 !important;
  color: #fff !important;
}
.od-price-reduced .reduced {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  padding: 0 !important;
  margin: 0 !important;
}
.od-price-reduced .reduced img { display: none !important; }
.od-price-reduced-label {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: auto !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Custom Home inventory cards use precisely the same card proportions. */
#od-home-inventory .od-home-all-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
  overflow: visible !important;
}
#od-home-inventory .od-home-car {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: var(--od-surface) !important;
  border: 1px solid var(--od-border) !important;
  border-radius: var(--od-radius) !important;
  box-shadow: var(--od-shadow) !important;
}
#od-home-inventory .od-home-car-image {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  flex: 0 0 auto !important;
}
#od-home-inventory .od-home-car-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  display: block !important;
}
#od-home-inventory .od-home-car-body {
  width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  padding: 18px !important;
  box-sizing: border-box !important;
}
#od-home-inventory .od-home-car-main { width: 100% !important; min-width: 0 !important; }
#od-home-inventory .od-home-car-main h3 { margin: 0 0 8px !important; font-size: 18px !important; line-height: 1.25 !important; }
#od-home-inventory .od-home-car-facts { display:flex !important; flex-wrap:wrap !important; gap:6px !important; }
#od-home-inventory .od-home-car-facts span {
  padding:5px 8px !important; border-radius:7px !important; background:var(--od-surface-2) !important;
  border:1px solid var(--od-border) !important; color:var(--od-muted) !important; font-size:11px !important; line-height:1.1 !important;
}
#od-home-inventory .od-home-car-side {
  width:100% !important; min-width:0 !important; margin-top:auto !important; display:flex !important;
  flex-direction:column !important; align-items:stretch !important; gap:8px !important;
}
#od-home-inventory .od-home-car-price {
  display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:7px !important;
  width:100% !important; min-height:46px !important; padding:9px 12px !important; margin:0 !important;
  box-sizing:border-box !important; border-radius:12px !important; background:#101828 !important;
  color:#fff !important; font-size:20px !important; font-weight:900 !important; line-height:1.25 !important;
}
#od-home-inventory .od-home-car-price .od-price-reduced-label { color:#fff !important; }
#od-home-inventory .od-home-car-button { width:100% !important; min-height:48px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; }

@media (max-width: 980px) {
  #listings { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  #od-home-inventory .od-home-all-list { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 700px) {
  #listings { grid-template-columns: 1fr !important; }
  #od-home-inventory .od-home-all-list { grid-template-columns: 1fr !important; gap: 14px !important; }
  #listings .listingblock .vignette,
  #listings .listingblockgrid .vignette,
  #od-home-inventory .od-home-car-image { aspect-ratio: 16 / 10 !important; }
  #listings .listingblock .listingblocksection,
  #listings .listingblockgrid .listingblocksection,
  #od-home-inventory .od-home-car-body { padding: 15px !important; }
  #listings .listingblock .price,
  #listings .listingblockgrid .price,
  #od-home-inventory .od-home-car-price { font-size:18px !important; }
}

/* ================================================================
   v3.43 — ONE VISUAL CARD SYSTEM FOR EVERY VEHICLE LISTING
   The card below mirrors the Home > Novità presentation everywhere.
   Frontend styling only: OpenDoor listing/query/actions remain untouched.
   ================================================================ */

/* Shared card frame: Novità / all announcements / listings / search results. */
#od-home-latest .od-home-car,
#od-home-inventory .od-home-car,
#listings .listingblockgrid,
#listings .listingblock {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: var(--od-surface, #fff) !important;
  border: 1px solid var(--od-border, #e6eaf0) !important;
  border-radius: var(--od-radius, 18px) !important;
  box-shadow: var(--od-shadow, 0 12px 35px rgba(16,24,40,.08)) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
#od-home-latest .od-home-car:hover,
#od-home-inventory .od-home-car:hover,
#listings .listingblockgrid:hover,
#listings .listingblock:hover {
  transform: translateY(-3px) !important;
  border-color: #d7dde7 !important;
  box-shadow: var(--od-shadow-hover, 0 20px 48px rgba(16,24,40,.13)) !important;
}

/* Same 4:3 image window everywhere. */
#od-home-latest .od-home-car-image,
#od-home-inventory .od-home-car-image,
#listings .listingblockgrid .vignette,
#listings .listingblock .vignette {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  background: var(--od-surface-2, #f8fafc) !important;
  box-sizing: border-box !important;
}
#od-home-latest .od-home-car-image img,
#od-home-inventory .od-home-car-image img,
#listings .listingblockgrid .vignette img,
#listings .listingblock .vignette img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Same content spacing and vertical rhythm. */
#od-home-latest .od-home-car-body,
#od-home-inventory .od-home-car-body,
#listings .listingblockgrid .listingblocksection,
#listings .listingblock .listingblocksection {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
  padding: 18px !important;
  gap: 9px !important;
  overflow: visible !important;
}

/* Same title treatment. */
#od-home-latest .od-home-car h3,
#od-home-inventory .od-home-car h3,
#listings .listingblockgrid h3,
#listings .listingblock h3 {
  margin: 0 0 7px !important;
  color: var(--od-text) !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
}
#od-home-latest .od-home-car h3 a,
#od-home-inventory .od-home-car h3 a,
#listings .listingblockgrid h3 a,
#listings .listingblock h3 a {
  color: var(--od-text) !important;
  text-decoration: none !important;
}
#od-home-latest .od-home-car h3 a:hover,
#od-home-inventory .od-home-car h3 a:hover,
#listings .listingblockgrid h3 a:hover,
#listings .listingblock h3 a:hover { color: var(--od-accent) !important; }

/* Same compact detail chips/facts. */
#od-home-latest .od-home-car-facts,
#od-home-inventory .od-home-car-facts,
#listings .listingblockgrid .twofeatures,
#listings .listingblock .twofeatures {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 42px !important;
  margin: 0 !important;
  overflow: visible !important;
}
#od-home-latest .od-home-car-facts span,
#od-home-inventory .od-home-car-facts span,
#listings .listingblockgrid .twofeatures span,
#listings .listingblock .twofeatures span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 5px 8px !important;
  box-sizing: border-box !important;
  border-radius: 7px !important;
  background: var(--od-surface-2, #f8fafc) !important;
  border: 1px solid var(--od-border, #e6eaf0) !important;
  color: var(--od-muted, #667085) !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
}
#od-home-latest .od-home-car-facts strong,
#od-home-inventory .od-home-car-facts strong { color: var(--od-text) !important; }

/* Price block is identical everywhere; reduced price becomes green. */
#od-home-latest .od-home-car-price,
#od-home-inventory .od-home-car-price,
#listings .listingblockgrid p.price,
#listings .listingblock p.price {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
  background: #101828 !important;
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}
#od-home-latest .od-home-car-price,
#od-home-inventory .od-home-car-price { color: #fff !important; }
#od-home-latest .od-home-car-price.od-price-reduced,
#od-home-inventory .od-home-car-price.od-price-reduced,
#listings .listingblockgrid p.price.od-price-reduced,
#listings .listingblock p.price.od-price-reduced {
  background: #198754 !important;
  border-color: #198754 !important;
  color: #fff !important;
}
.od-price-reduced-label {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.15) !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  color: #fff !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

/* Details and CTA stay anchored at the same bottom position. */
#od-home-latest .od-home-car-side,
#od-home-inventory .od-home-car-side {
  width: 100% !important;
  min-width: 0 !important;
  margin-top: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  align-items: stretch !important;
}
#od-home-latest .od-home-car-button,
#od-home-inventory .od-home-car-button,
#listings .listingblockgrid .btn,
#listings .listingblock .btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
  background: var(--od-dark, #101828) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* Native listing grid: same 3-column card layout as the Home. */
#listings {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
#listings > span[style*="clear"],
#listings > span[style*="display: block"] { display: none !important; }

/* Home "Tutti gli annunci" uses the SAME card size as Novità. */
#od-home-inventory .od-home-all-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
  overflow: visible !important;
}

@media (max-width: 1050px) {
  #listings,
  #od-home-inventory .od-home-all-list { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 700px) {
  #listings,
  #od-home-inventory .od-home-all-list { grid-template-columns: 1fr !important; gap: 14px !important; }
  #od-home-latest .od-home-car-body,
  #od-home-inventory .od-home-car-body,
  #listings .listingblockgrid .listingblocksection,
  #listings .listingblock .listingblocksection { padding: 15px !important; }
  #od-home-latest .od-home-car h3,
  #od-home-inventory .od-home-car h3,
  #listings .listingblockgrid h3,
  #listings .listingblock h3 { font-size: 16px !important; }
  #od-home-latest .od-home-car-price,
  #od-home-inventory .od-home-car-price,
  #listings .listingblockgrid p.price,
  #listings .listingblock p.price { font-size: 18px !important; }
}


/* v3.44 — Only ONE visible "Prezzo ridotto" label per card. */
/* The original OpenDoor .reduced marker remains in the DOM for compatibility,
   but its visual badge/text is hidden because the green price block provides
   the single clear status label. */
#listings .listingblockgrid a.reduced,
#listings .listingblock a.reduced,
.listingblockgrid a.reduced,
.listingblock a.reduced {
  display: none !important;
}
#listings .listingblockgrid a.reduced:after,
#listings .listingblock a.reduced:after,
.listingblockgrid a.reduced:after,
.listingblock a.reduced:after {
  content: none !important;
  display: none !important;
}
.od-reduction-text {
  display: none !important;
}
/* Home cards already render exactly one label inside their green price box. */
#od-home-inventory .od-price-reduced-label,
#od-home-latest .od-price-reduced-label,
#listings .od-price-reduced-label {
  display: inline-flex !important;
}

/* v3.50 — Clickable reduced-price information. */
#listings .price.od-price-reduced,
#listings p.price.od-price-reduced,
#od-home-latest .od-home-car-price.od-price-reduced,
#od-home-inventory .od-home-car-price.od-price-reduced,
.od-detail-reduction {
  cursor: pointer !important;
}
#listings .price.od-price-reduced:focus-visible,
#listings p.price.od-price-reduced:focus-visible,
#od-home-latest .od-home-car-price.od-price-reduced:focus-visible,
#od-home-inventory .od-home-car-price.od-price-reduced:focus-visible,
.od-detail-reduction:focus-visible {
  outline: 3px solid rgba(25,135,84,.28) !important;
  outline-offset: 2px !important;
}
.od-detail-reduction {
  border: 0 !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 9px 0 0 !important;
  padding: 6px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  border-radius: 999px !important;
  background: #198754 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.od-detail-reduction span { color:#fff !important; }
.od-detail-reduction strong { color:#fff !important; font-weight:900 !important; }
.od-reduction-dialog {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  background: rgba(15,23,42,.56) !important;
  opacity: 0 !important;
  transition: opacity .16s ease !important;
}
.od-reduction-dialog.is-open { opacity: 1 !important; }
.od-reduction-dialog-box {
  position: relative !important;
  width: min(390px, calc(100vw - 32px)) !important;
  box-sizing: border-box !important;
  padding: 28px 24px 22px !important;
  border-radius: 20px !important;
  background: #fff !important;
  color: var(--od-text,#111827) !important;
  box-shadow: 0 25px 70px rgba(15,23,42,.28) !important;
  text-align: center !important;
  transform: translateY(8px) scale(.98) !important;
  transition: transform .16s ease !important;
}
.od-reduction-dialog.is-open .od-reduction-dialog-box { transform: translateY(0) scale(1) !important; }
.od-reduction-dialog-icon {
  width: 44px !important; height: 44px !important; margin: 0 auto 10px !important;
  border-radius: 50% !important; display:flex !important; align-items:center !important; justify-content:center !important;
  background:#e9f7ef !important; color:#198754 !important; font-size:22px !important; font-weight:900 !important;
}
.od-reduction-dialog-box h3 { margin:0 0 8px !important; font-size:20px !important; }
.od-reduction-dialog-box p { margin:0 0 18px !important; color:#475569 !important; font-size:14px !important; }
.od-reduction-dialog-box p strong { color:#198754 !important; }
.od-reduction-dialog-close {
  position:absolute !important; right:10px !important; top:8px !important; width:34px !important; height:34px !important;
  border:0 !important; background:transparent !important; color:#64748b !important; box-shadow:none !important;
  font-size:26px !important; line-height:1 !important; padding:0 !important; min-height:0 !important;
}
.od-reduction-dialog-ok { min-width:90px !important; }
@media (max-width: 767px) {
  .od-detail-reduction { font-size:10px !important; padding:6px 9px !important; }
  .od-reduction-dialog-box { padding:24px 18px 18px !important; }
}

/* v3.51 — Reduced price UX: green price box + one clickable label; detail badge UNDER price. */
#listings .listingblockgrid .price.od-price-reduced,
#listings .listingblock .price.od-price-reduced,
#od-home-latest .od-home-car-price.od-price-reduced,
#od-home-inventory .od-home-car-price.od-price-reduced {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: #198754 !important;
  color: #fff !important;
  border: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
}
#listings .listingblockgrid .price.od-price-reduced *,
#listings .listingblock .price.od-price-reduced *,
#od-home-latest .od-home-car-price.od-price-reduced *,
#od-home-inventory .od-home-car-price.od-price-reduced * {
  color: #fff !important;
}
.od-price-reduced-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
#od-detail-reduction.od-detail-reduction {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 9px 0 0 !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: #198754 !important;
  border: 0 !important;
  color: #fff !important;
  cursor: pointer !important;
  vertical-align: top !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}
#od-detail-reduction.od-detail-reduction span,
#od-detail-reduction.od-detail-reduction strong { color:#fff !important; }
@media (max-width: 700px) {
  #listings .listingblockgrid .price.od-price-reduced,
  #listings .listingblock .price.od-price-reduced,
  #od-home-latest .od-home-car-price.od-price-reduced,
  #od-home-inventory .od-home-car-price.od-price-reduced { font-size: 17px !important; padding: 9px 10px !important; }
  .od-price-reduced-label { font-size: 9px !important; }
  #od-detail-reduction.od-detail-reduction { display:flex !important; width:max-content !important; max-width:100% !important; }
}


/* v3.51 — Reduced price fix: Home "Novità" + single listing detail. */
#od-home-latest .od-home-car-price.od-price-reduced,
#od-home-inventory .od-home-car-price.od-price-reduced,
#listings .listingblockgrid .price.od-price-reduced,
#listings .listingblockgrid p.price.od-price-reduced,
#listings .listingblock .price.od-price-reduced,
#listings .listingblock p.price.od-price-reduced {
  background: #198754 !important;
  color: #fff !important;
  border-color: #198754 !important;
  cursor: pointer !important;
}
#listings .listingblockgrid .price.od-price-reduced,
#listings .listingblockgrid p.price.od-price-reduced,
#listings .listingblock .price.od-price-reduced,
#listings .listingblock p.price.od-price-reduced {
  position: relative !important;
  z-index: 3 !important;
}
#od-detail-reduction.od-detail-reduction {
  display: inline-flex !important;
  vertical-align: middle !important;
  margin: 8px 0 0 !important;
  padding: 7px 11px !important;
  min-height: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #198754 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-align: left !important;
  white-space: nowrap !important;
}
#od-detail-reduction.od-detail-reduction span,
#od-detail-reduction.od-detail-reduction strong { color:#fff !important; }
@media (max-width: 700px) {
  #od-detail-reduction.od-detail-reduction { font-size: 10px !important; padding: 7px 9px !important; }
}

/* v3.52 — Single vehicle page: price + reduction badge in one green box. */
#od-detail-pricebox {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 10px 0 14px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #198754 !important;
  border: 1px solid #198754 !important;
}
#od-detail-pricebox #pricebig,
#od-detail-pricebox h2#pricebig {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 15px 17px 6px !important;
  text-align: left !important;
  background: #198754 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#od-detail-pricebox #pricebig a,
#od-detail-pricebox #pricebig span,
#od-detail-pricebox #pricebig * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
#od-detail-pricebox #od-detail-reduction.od-detail-reduction {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 4px 17px 15px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #198754 !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  text-align: left !important;
  white-space: normal !important;
}
#od-detail-pricebox #od-detail-reduction.od-detail-reduction span,
#od-detail-pricebox #od-detail-reduction.od-detail-reduction strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
#od-detail-pricebox #od-detail-reduction.od-detail-reduction strong {
  font-weight: 900 !important;
}
@media (max-width: 700px) {
  #od-detail-pricebox #pricebig,
  #od-detail-pricebox h2#pricebig {
    padding: 13px 14px 5px !important;
    font-size: 26px !important;
  }
  #od-detail-pricebox #od-detail-reduction.od-detail-reduction {
    padding: 3px 14px 13px !important;
    font-size: 11px !important;
  }
}

/* ================================================================
   v3.52 — Share button + same visual system for all announcement cards
   ================================================================ */
.od-card-top-actions{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  z-index:30 !important;
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  max-width:calc(100% - 20px) !important;
}
.od-card-top-actions .od-home-compare-check{
  position:static !important;
  top:auto !important;
  right:auto !important;
  left:auto !important;
  bottom:auto !important;
  z-index:auto !important;
  margin:0 !important;
}
.od-share-card{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 38px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.96) !important;
  color:#111827 !important;
  box-shadow:0 5px 18px rgba(15,23,42,.12) !important;
  cursor:pointer !important;
  line-height:1 !important;
  font-family:inherit !important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease !important;
}
.od-share-card svg{
  display:block !important;
  width:18px !important;
  height:18px !important;
  fill:currentColor !important;
}
.od-share-card:hover{
  transform:translateY(-1px) !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.16) !important;
}
.od-share-card:focus-visible{
  outline:3px solid rgba(37,99,235,.20) !important;
  outline-offset:2px !important;
}
.od-share-card-inline{
  margin-left:2px !important;
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  flex-basis:32px !important;
  border-radius:50% !important;
  box-shadow:none !important;
  background:#f8fafc !important;
  border-color:var(--od-border,#e6eaf0) !important;
}
.od-share-card-inline svg{width:16px !important;height:16px !important;}
.od-share-card-inline:hover{background:#fff !important;box-shadow:0 4px 12px rgba(15,23,42,.12) !important;}
.od-share-toast{
  position:fixed !important;
  left:50% !important;
  bottom:24px !important;
  z-index:2147483646 !important;
  transform:translate(-50%,12px) !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  background:#111827 !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.22) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.od-share-toast.is-visible{opacity:1 !important;transform:translate(-50%,0) !important;}

/* The dedicated "Tutti gli annunci" view uses the exact same vertical card
   proportions as the Home > Novità cards. */
#listings{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
#listings .listingblockgrid{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 12px 35px rgba(16,24,40,.08) !important;
}
#listings .listingblockgrid .vignette{
  width:100% !important;
  aspect-ratio:4/3 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
}
#listings .listingblockgrid .vignette img,
#listings .listingblockgrid img.listing_thumbnail{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center !important;
}
#listings .listingblockgrid .listingblocksection{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  padding:18px !important;
  min-height:0 !important;
  box-sizing:border-box !important;
}
#listings .listingblockgrid .listingblocksection .address{
  min-height:0 !important;
  max-height:none !important;
  display:block !important;
  overflow:visible !important;
  margin:0 0 2px !important;
}
#listings .listingblockgrid .twofeatures{
  min-height:42px !important;
  margin:0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
}
#listings .listingblockgrid .compare{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  flex-wrap:wrap !important;
  margin:0 !important;
  padding:0 !important;
  min-height:32px !important;
}
#listings .listingblockgrid .compare .od-share-card-inline{
  order:3 !important;
}
#listings .listingblockgrid .btn{
  margin-top:auto !important;
  width:100% !important;
}

/* Also turn the Home "Tutti gli annunci" cards into the same grid/card language
   as Home > Novità, instead of the old compressed horizontal rows. */
#od-home-inventory .od-home-all-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}
#od-home-inventory .od-home-car{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  border-radius:18px !important;
}
#od-home-inventory .od-home-car-image{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4/3 !important;
  flex:0 0 auto !important;
}
#od-home-inventory .od-home-car-image img{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
}
#od-home-inventory .od-home-car-body{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:9px !important;
  width:100% !important;
  min-height:0 !important;
  padding:18px !important;
  box-sizing:border-box !important;
}
#od-home-inventory .od-home-car-main,
#od-home-inventory .od-home-car-side{width:100% !important;min-width:0 !important;}
#od-home-inventory .od-home-car-side{margin-top:auto !important;}
#od-home-inventory .od-home-compare-check{
  position:static !important;
  max-width:none !important;
  width:auto !important;
  padding:6px 9px !important;
}
#od-home-inventory .od-card-top-actions{
  top:10px !important;
  right:10px !important;
}

@media(max-width:980px){
  #listings{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #od-home-inventory .od-home-all-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:700px){
  #listings{grid-template-columns:1fr !important;gap:14px !important;}
  #od-home-inventory .od-home-all-list{grid-template-columns:1fr !important;gap:14px !important;}
  #listings .listingblockgrid .listingblocksection,
  #od-home-inventory .od-home-car-body{padding:15px !important;}
  #listings .listingblockgrid .vignette,
  #od-home-inventory .od-home-car-image{aspect-ratio:16/10 !important;}
  .od-card-top-actions{top:8px !important;right:8px !important;gap:6px !important;}
  .od-share-card{width:36px !important;height:36px !important;min-width:36px !important;min-height:36px !important;flex-basis:36px !important;}
}

