/* Empty Gold areas reuse the current Buy Car Gold palette and card shape. */
.section-gold-empty,.lorry-gold.section-gold-empty,.rental-gold.section-gold-empty{margin:16px 0;padding:18px;border:1px solid #cda74b;border-radius:20px;color:#705217;background:linear-gradient(120deg,#fff9e7,#fffdf7);box-shadow:0 3px 12px #7052170a;min-height:0}
.section-gold-empty h2{font-size:20px;margin:8px 0}.section-gold-empty p{margin:6px 0;font-size:14px}
.section-gold .gold-car{min-height:280px}.section-gold .gold-copy{padding-top:145px}
.section-gold button.gold-car{border:0;border-radius:0;background:#191712;color:#fff;text-align:start;padding-inline:0}

/* Continuous section feeds; no selectors apply to the Home presentation. */
.promotion-groups{display:block;min-width:0;width:100%}
.section-advertisements{position:sticky;top:calc(var(--section-safe-top,0px) + var(--section-controls-height,var(--section-header-height,56px)));z-index:20;align-self:start;min-width:0;margin:0 0 24px;padding-bottom:8px;background:#fff;overflow-anchor:none}
/* Promotion artwork is provided by the owner. The shared renderer only adds
   this element for promoted records; NORMAL has no badge or reserved space. */
.listing-promotion-badge{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;justify-self:start;inline-size:clamp(64px,20vw,88px)!important;block-size:clamp(36px,11.3vw,50px)!important;max-inline-size:100%;box-sizing:border-box;margin:0 0 5px;padding:0;border:0;border-radius:0;background:transparent;color:transparent;font-size:0;line-height:0;vertical-align:middle;overflow:visible;object-fit:contain;object-position:center;flex-shrink:0}
.listing-promotion-badge>.listing-promotion-logo{display:block;inline-size:100%;block-size:100%;max-inline-size:100%;max-block-size:100%;min-inline-size:0;min-block-size:0;flex:none;object-fit:contain;object-position:center;background:transparent;border-radius:0}
/* Both owner-supplied marks are landscape artwork. Override the older shield
   footprints in section/Favorites aliases, retaining their existing placement.
   The image always contains the complete artwork, including fallback img badges. */

/* Shared horizontal listing cards: anchor to the physical top-right in every
   language. Only the first information row reserves the badge's footprint;
   the remaining copy keeps its full width and the media rail stays on the left.
   Detail-page headings and advertisement/featured banners are not card targets. */
:is(.car-card,.public-car-card,.showroom-card,.lorry-card,.rental-vehicle-card,.office-directory-card,.parts-listing-card,.parts-shop-card,.post-inventory-card,.recovery-driver-row,.recovery-provider-card,.section-listing-card,.section-provider-card,.favorite-record):has(.listing-promotion-badge) {
  position:relative;
  --promotion-card-logo-width:clamp(64px,18vw,80px);
  --promotion-card-logo-height:calc(var(--promotion-card-logo-width) * .564);
}
:is(.car-card-body,.public-car-body,.showroom-card-copy,.lorry-body,.rental-card-body,.office-directory-card>.office-card-copy,.parts-item-copy,.post-inventory-copy,.recovery-driver-copy,.recovery-provider-copy,.section-listing-card-copy,.favorite-record-copy):has(>.listing-promotion-badge) {
  position:static;
}
:is(.car-card-body,.public-car-body,.showroom-card-copy,.lorry-body,.rental-card-body,.office-directory-card>.office-card-copy,.parts-item-copy,.post-inventory-copy,.recovery-driver-copy,.recovery-provider-copy,.section-listing-card-copy,.favorite-record-copy)>.listing-promotion-badge {
  position:absolute;
  inset:8px 8px auto auto;
  inline-size:var(--promotion-card-logo-width)!important;
  block-size:var(--promotion-card-logo-height)!important;
  margin:0!important;
  padding:0;
  z-index:1;
  pointer-events:none;
}
:is(.car-card-body,.public-car-body,.showroom-card-copy,.lorry-body,.rental-card-body,.office-directory-card>.office-card-copy,.parts-item-copy,.post-inventory-copy,.recovery-driver-copy,.recovery-provider-copy,.section-listing-card-copy)>.listing-promotion-badge+* {
  box-sizing:border-box;
  width:100%;
  min-block-size:calc(var(--promotion-card-logo-height) + 2px);
  padding-right:calc(var(--promotion-card-logo-width) + 6px)!important;
  align-self:stretch;
  justify-self:stretch;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
:is(.parts-item-copy,.post-inventory-copy):has(>.listing-promotion-badge) { flex:1; }
.recovery-driver-row:has(.listing-promotion-badge)>.recovery-row-distance { align-self:end; }
/* Favorites already reserves a right-hand action rail. Keep its logo above
   Remove, without narrowing the title or reserving any space on NORMAL cards. */
.public-favorites .favorite-record:has(.listing-promotion-badge)>.favorite-record-main {
  padding-right:calc(var(--promotion-card-logo-width) + 16px);
  min-height:calc(var(--promotion-card-logo-height) + 68px);
}
.section-advertisements[hidden]{display:none!important}
/* Every section uses the same shell rails, including Recovery's map view. */
.app-shell:has(>.section-advertisements:not([hidden])){--section-safe-top:env(safe-area-inset-top,0px);--section-ad-frame-size:min(clamp(190px,45vw,350px),max(80px,calc(100svh - var(--section-controls-height,56px) - env(safe-area-inset-top,0px) - 250px)));overflow:clip;overflow-anchor:none}
.app-shell:has(>.section-advertisements:not([hidden]))>.top-header{position:sticky;top:var(--section-safe-top);z-index:40;background:#fff}
.app-shell>.section-advertisements{width:100%;box-sizing:border-box}
.app-shell>.section-advertisements+:is(#buySellScreen,#showroomListScreen,#publicSectionScreen,#recoveryScreen){scroll-margin-top:calc(var(--section-safe-top) + var(--section-controls-height,56px) + var(--section-ad-frame-size) + 32px)}
.app-shell:has(#showroomListScreen:not([hidden]))>.section-advertisements{width:calc(100% - 32px);margin-inline:16px}
@media(max-width:370px){.app-shell:has(#showroomListScreen:not([hidden]))>.section-advertisements{width:calc(100% - 22px);margin-inline:11px}}
.section-ad-frame{position:relative;height:clamp(190px,45vw,350px);max-height:max(80px,calc(100svh - var(--section-controls-height,56px) - env(safe-area-inset-top,0px) - 250px));overflow:hidden;border-radius:16px;background:#e2e7ec;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.section-ad-frame .section-ad-media{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-drag:none}
.section-ad-target{display:block;position:absolute;inset:0;color:#fff;text-decoration:none}
.section-ad-audio-toggle{position:absolute;inset-inline-end:10px;bottom:10px;z-index:3;inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px;box-sizing:border-box;display:grid;place-items:center;padding:0;border:1px solid #ffffff99;border-radius:50%;background:#171a20d9;color:#fff;font-size:18px;line-height:1;cursor:pointer;touch-action:manipulation}
.section-ad-audio-toggle .ad-audio-icon{pointer-events:none}
.section-ad-audio-toggle:focus-visible{outline:3px solid #ffe08b;outline-offset:2px}
/* Captions stay inside the shared banner rather than extending it per slide. */
.section-ad-copy{position:absolute;inset-inline:0;bottom:0;display:flex;flex-direction:column;gap:4px;box-sizing:border-box;max-height:calc(100% - 36px);padding:10px 14px;overflow:hidden;color:#fff;background:transparent;font-size:14px;line-height:1.3;text-shadow:0 1px 3px #000}
.section-ad-copy>*{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;overflow-wrap:anywhere}
.section-ad-frame:has(video) .section-ad-copy{padding-inline-end:64px}
