/* ============================================================
 * ab24-detail.css — Vehicle detail page
 * ============================================================ */

.ab-detail { padding: 16px 0 40px; background: var(--ab-bg); }

/* Breadcrumb */
.ab-detail .ab-crumbs { margin-bottom: 16px; font-size: 13px; color: var(--ab-ink-3); }
.ab-detail .ab-crumbs a { color: var(--ab-ink-3); }
.ab-detail .ab-crumbs a:hover { color: var(--ab-blue); }
.ab-detail .ab-crumbs__sep { padding: 0 6px; }

/* Head — title left, (actions + price) right */
.ab-detail__head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
}
.ab-detail__head-main { flex: 1; min-width: 260px; }
.ab-detail__title {
  font-size: 26px; font-weight: 500; color: var(--ab-ink-2);
  margin: 0 0 4px; line-height: 1.2;
}
.ab-detail__title strong { color: var(--ab-ink); font-weight: 700; }
.ab-detail__subtitle { font-size: 15px; color: var(--ab-ink-3); }

/* Actions + price on one row, aligned to top */
.ab-detail__head-side {
  display: flex; flex-direction: row; align-items: flex-start; gap: 16px;
  flex-shrink: 0;
}
.ab-detail__head-side .ab-list-card__actions { margin-top: 4px; }
.ab-detail__price-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 0; }
.ab-detail__price {
  font-size: 30px; font-weight: 700; color: var(--ab-blue);
  line-height: 1;
}
.ab-detail__iva { font-size: 12px; color: var(--ab-ink-4); margin-top: 4px; }

@media (max-width: 767px) {
  .ab-detail__title { font-size: 22px; }
  .ab-detail__price { font-size: 24px; }
  .ab-detail__head { flex-direction: column; }
  .ab-detail__head-side { width: 100%; justify-content: space-between; }
}

/* Gallery — original proportions, no vertical cropping */
.ab-gallery {
  background: var(--ab-surface); border: 1px solid var(--ab-line);
  border-radius: var(--ab-radius); overflow: hidden; margin-bottom: 20px;
}
.ab-gallery__main {
  position: relative; background: #111;
  min-height: 300px; max-height: 640px;
  display: flex; align-items: center; justify-content: center;
}
@media (max-width: 575px) {
  .ab-gallery__main {
    min-height: 0;
    background: var(--ab-bg-2);
  }
}
.ab-gallery__main img {
  width: 100%; height: auto; max-height: 640px;
  object-fit: contain; display: block;
  transition: opacity var(--ab-dur) var(--ab-ease);
}
.ab-gallery__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px; padding: 0; border: 0;
  background: rgba(255,255,255,0.9); backdrop-filter: blur(8px);
  border-radius: 100px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--ab-ink); transition: all var(--ab-dur) var(--ab-ease);
  box-shadow: 0 2px 8px rgba(0,0,0,0.15); z-index: 2;
}
.ab-gallery__nav:hover { background: #fff; transform: translateY(-50%) scale(1.05); color: var(--ab-blue); }
.ab-gallery__nav--prev { left: 12px; }
.ab-gallery__nav--next { right: 12px; }
.ab-gallery__counter {
  position: absolute; bottom: 12px; right: 12px;
  padding: 4px 10px; font-size: 12px; font-weight: 600;
  color: #fff; background: rgba(15,25,35,0.75); backdrop-filter: blur(8px);
  border-radius: 100px; pointer-events: none; z-index: 2;
}
.ab-gallery__thumbs {
  display: flex; gap: 6px; padding: 10px;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.ab-gallery__thumb {
  flex: 0 0 auto; width: 80px; height: 56px;
  border: 2px solid transparent; padding: 0; background: none; cursor: pointer;
  border-radius: var(--ab-radius-sm); overflow: hidden;
  transition: all var(--ab-dur) var(--ab-ease);
}
.ab-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-gallery__thumb:hover { border-color: var(--ab-blue); }
.ab-gallery__thumb.is-active { border-color: var(--ab-blue); }

/* Expand button (top-right corner of main gallery) */
.ab-gallery__expand {
  position: absolute; top: 12px; right: 12px; z-index: 2;
  width: 36px; height: 36px; padding: 0; border: 0;
  background: rgba(15,25,35,0.7); color: #fff;
  border-radius: 100px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  backdrop-filter: blur(8px);
  transition: all var(--ab-dur) var(--ab-ease);
}
.ab-gallery__expand:hover { background: rgba(15,25,35,0.95); transform: scale(1.05); }

/* ─────────────────────────────────────────────
 *  Fullscreen lightbox
 * ───────────────────────────────────────────── */
.ab-lightbox {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(0,0,0,0.96);
  display: flex; flex-direction: column;
}
.ab-lightbox[hidden] { display: none; }
.ab-lightbox__stage {
  flex: 1; display: flex; align-items: center; justify-content: center;
  padding: 60px 80px 20px;
  min-height: 0; /* allow flex to shrink */
}
.ab-lightbox__stage img {
  max-width: 100%; max-height: 100%; width: auto; height: auto;
  object-fit: contain; display: block;
}
.ab-lightbox__close {
  position: absolute; top: 18px; right: 18px; z-index: 3;
  width: 44px; height: 44px; padding: 0; border: 0;
  background: rgba(255,255,255,0.1); color: #fff;
  border-radius: 100px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background var(--ab-dur) var(--ab-ease);
}
.ab-lightbox__close:hover { background: rgba(255,255,255,0.25); }
.ab-lightbox__nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 52px; height: 52px; padding: 0; border: 0;
  background: rgba(255,255,255,0.1); color: #fff;
  border-radius: 100px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background var(--ab-dur) var(--ab-ease);
}
.ab-lightbox__nav:hover { background: rgba(255,255,255,0.25); }
.ab-lightbox__nav--prev { left: 20px; }
.ab-lightbox__nav--next { right: 20px; }
.ab-lightbox__info {
  position: absolute; top: 24px; left: 24px; z-index: 3;
  padding: 6px 14px; font-size: 13px; font-weight: 600;
  color: #fff; background: rgba(255,255,255,0.1);
  border-radius: 100px; pointer-events: none;
}
.ab-lightbox__thumbs {
  display: flex; gap: 6px; padding: 12px 20px 20px;
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: rgba(255,255,255,0.3) transparent;
  flex-shrink: 0; justify-content: center;
}
.ab-lightbox__thumbs::-webkit-scrollbar { height: 4px; }
.ab-lightbox__thumbs::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.3); border-radius: 4px; }
.ab-lightbox__thumb {
  flex: 0 0 auto; width: 90px; height: 62px;
  padding: 0; border: 2px solid transparent; background: none; cursor: pointer;
  border-radius: 4px; overflow: hidden; opacity: 0.55;
  transition: all var(--ab-dur) var(--ab-ease);
}
.ab-lightbox__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-lightbox__thumb:hover { opacity: 0.85; }
.ab-lightbox__thumb.is-active { opacity: 1; border-color: #fff; }

@media (max-width: 767px) {
  .ab-lightbox__stage { padding: 50px 10px 10px; }
  .ab-lightbox__nav { width: 40px; height: 40px; }
  .ab-lightbox__nav--prev { left: 8px; }
  .ab-lightbox__nav--next { right: 8px; }
  .ab-lightbox__thumbs { padding: 8px 10px 12px; }
  .ab-lightbox__thumb { width: 64px; height: 44px; }
}

/* Dati principali — melnyk-style 3×2 border-grid, no outer title */
.ab-main-data {
  display: grid; grid-template-columns: repeat(3, 1fr);
  background: var(--ab-surface);
  border: 1px solid var(--ab-line);
  border-radius: var(--ab-radius);
  overflow: hidden;
  margin-bottom: 20px;
}
.ab-main-data__cell {
  padding: 20px 14px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  border-right: 1px solid var(--ab-line);
  border-bottom: 1px solid var(--ab-line);
}
.ab-main-data__cell:nth-child(3n) { border-right: 0; }
.ab-main-data__cell:nth-last-child(-n+3) { border-bottom: 0; }
.ab-main-data__label {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--ab-ink-3); font-weight: 500;
}
.ab-main-data__label svg,
.ab-main-data__label .fa { color: var(--ab-ink-3); flex-shrink: 0; font-size: 12px; }
.ab-main-data__value { font-size: 15px; font-weight: 700; color: var(--ab-ink); }
@media (max-width: 575px) {
  .ab-main-data { grid-template-columns: repeat(2, 1fr); }
  .ab-main-data__cell { padding: 16px 10px; border-right: 1px solid var(--ab-line); border-bottom: 1px solid var(--ab-line); }
  .ab-main-data__cell:nth-child(3n) { border-right: 1px solid var(--ab-line); }
  .ab-main-data__cell:nth-child(2n) { border-right: 0; }
  .ab-main-data__cell:nth-last-child(-n+3) { border-bottom: 1px solid var(--ab-line); }
  .ab-main-data__cell:nth-last-child(-n+2) { border-bottom: 0; }
}

/* Spec section */
.ab-spec-section {
  background: var(--ab-surface); border: 1px solid var(--ab-line);
  border-radius: var(--ab-radius); padding: 22px 24px; margin-bottom: 20px;
}
.ab-spec-section__title {
  display: flex; align-items: center; gap: 10px;
  font-size: 17px; font-weight: 700; color: var(--ab-ink);
  margin: 0 0 18px; padding-bottom: 12px;
  border-bottom: 1px solid var(--ab-line);
}
.ab-spec-section__title svg,
.ab-spec-section__title .fa { color: var(--ab-blue); font-size: 18px; }

/* Spec sections — two independent columns (reads top-to-bottom per column, melnyk-style) */
.ab-spec-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.ab-spec-col {}

.ab-spec {
  display: flex; justify-content: space-between; align-items: center;
  padding: 9px 0; border-bottom: 1px dashed var(--ab-line);
  font-size: 13.5px;
}
.ab-spec:last-child { border-bottom: 0; }
.ab-spec span { color: var(--ab-ink-3); }
.ab-spec strong { color: var(--ab-ink); font-weight: 600; text-align: right; }

@media (max-width: 575px) {
  .ab-spec-cols { grid-template-columns: 1fr; gap: 0; }
  .ab-spec-col:first-child .ab-spec:last-child { border-bottom: 1px dashed var(--ab-line); }
}

/* Description */
.ab-description { font-size: 14.5px; line-height: 1.65; color: var(--ab-ink-2); }
.ab-description p { margin: 0 0 12px; }
.ab-description ul, .ab-description ol { padding-left: 20px; margin: 0 0 12px; }
.ab-description li { margin-bottom: 4px; }
.ab-description strong { color: var(--ab-ink); }
.ab-description a { color: var(--ab-blue); text-decoration: underline; }

/* ─────────────────────────────────────────────
 *  Sidebar — Melnyk-style cards (title inside + blue underline)
 * ───────────────────────────────────────────── */
.ab-sidebar {}

.ab-sidebar-card {
  background: var(--ab-surface); border: 1px solid var(--ab-line);
  border-radius: var(--ab-radius); padding: 22px;
  margin-bottom: 20px;
}
.ab-sidebar-card__title {
  display: flex; align-items: center; gap: 10px;
  font-size: 15px; font-weight: 700; color: var(--ab-ink);
  margin: 0 0 14px; padding-bottom: 12px;
  border-bottom: 2px solid var(--ab-blue);
}
.ab-sidebar-card__title svg,
.ab-sidebar-card__title .fa { color: var(--ab-blue); flex-shrink: 0; font-size: 16px; }

/* Venditore card content */
.ab-venditore__row {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 7px 0; font-size: 13.5px; color: var(--ab-ink);
}
.ab-venditore__row--head { padding-bottom: 12px; margin-bottom: 4px; border-bottom: 1px solid var(--ab-line); }
.ab-venditore__icon { flex-shrink: 0; margin-top: 2px; color: var(--ab-blue); font-size: 15px; width: 18px; text-align: center; }
.ab-venditore__icon--lg { font-size: 22px; margin-top: 0; width: 24px; }
.ab-venditore__row--head .ab-venditore__icon { margin-top: 0; }
.ab-venditore__name {
  font-size: 17px; font-weight: 700; color: var(--ab-blue);
  line-height: 1.2; letter-spacing: 0.01em;
}
.ab-venditore__type { font-size: 12.5px; color: var(--ab-ink-3); margin-top: 2px; }
.ab-venditore__addr div { line-height: 1.5; font-size: 13px; color: var(--ab-ink-2); }

.ab-venditore__btns {
  display: flex; gap: 8px; margin-top: 14px; padding-top: 14px;
  border-top: 1px solid var(--ab-line);
}
.ab-venditore__btn {
  flex: 1; padding: 9px 10px; text-align: center;
  font-size: 11.5px; font-weight: 700; letter-spacing: 0.05em;
  color: var(--ab-ink-2); background: transparent;
  border: 1px solid var(--ab-line-2); border-radius: var(--ab-radius-sm);
  transition: all var(--ab-dur) var(--ab-ease);
}
.ab-venditore__btn:hover {
  border-color: var(--ab-blue); color: var(--ab-blue); background: var(--ab-blue-soft);
}

/* Actions bar — 2 groups (save / share) pinned to edges */
.ab-actions-bar {
  display: flex; justify-content: space-between; align-items: center;
}
.ab-actions-bar__group { display: flex; gap: 10px; }

.ab-action-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; padding: 0; border-radius: 100px;
  cursor: pointer; font-family: inherit;
  transition: all var(--ab-dur) var(--ab-ease);
}
/* Save/compare — neutral with hover color */
.ab-action-btn--fav,
.ab-action-btn--cmp {
  background: var(--ab-bg); color: var(--ab-ink-3);
  border: 1px solid var(--ab-line-2);
}
.ab-action-btn--fav:hover { border-color: #e11d48; color: #e11d48; background: rgba(225,29,72,0.06); }
.ab-action-btn--fav[aria-pressed="true"] { background: #e11d48; color: #fff; border-color: #e11d48; }
.ab-action-btn--fav[aria-pressed="true"] svg { fill: currentColor; }

.ab-action-btn--cmp:hover { border-color: var(--ab-blue); color: var(--ab-blue); background: var(--ab-blue-soft); }
.ab-action-btn--cmp[aria-pressed="true"] { background: var(--ab-blue); color: #fff; border-color: var(--ab-blue); }

/* Share — brand colored */
.ab-action-btn--fb { background: #1877f2; color: #fff; border: 0; }
.ab-action-btn--fb:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 4px 10px rgba(24,119,242,0.3); }
.ab-action-btn--wa { background: #25D366; color: #fff; border: 0; }
.ab-action-btn--wa:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 4px 10px rgba(37,211,102,0.3); }

.ab-action-btn .fa { font-size: 17px; }

/* Contact buttons */
.ab-contact__btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px 16px; margin-bottom: 8px; font-size: 14px; font-weight: 600; text-align: center; border: 0; cursor: pointer; border-radius: var(--ab-radius-sm); transition: all var(--ab-dur) var(--ab-ease); font-family: inherit; }
.ab-contact__btn .fa { font-size: 15px; }
.ab-share__btn .fa { font-size: 15px; }
.ab-contact__btn--primary { background: var(--ab-blue); color: #fff; }
.ab-contact__btn--primary:hover { background: var(--ab-blue-hover, #0849d9); color: #fff; transform: translateY(-1px); box-shadow: 0 4px 10px rgba(15,94,255,0.3); }
.ab-contact__btn--whatsapp { background: #25D366; color: #fff; }
.ab-contact__btn--whatsapp:hover { background: #1ebe5d; color: #fff; transform: translateY(-1px); box-shadow: 0 4px 10px rgba(37,211,102,0.3); }

.ab-contact__note { font-size: 12.5px; color: var(--ab-ink-3); margin: 0 0 14px; }

/* Form — inputs unified with /accedi/ login (white bg, 1.5px border, blue focus) */
.ab-contact-form__row { margin-bottom: 12px; }
.ab-contact-form__row label {
  display: block; font-size: 13px; font-weight: 600; color: var(--ab-ink-2);
  margin-bottom: 5px;
}
.ab-contact-form__row input,
.ab-contact-form__row textarea {
  width: 100%;
  padding: 12px 14px;
  font-size: 14px; font-family: inherit;
  border: 1.5px solid var(--ab-line);
  background: var(--ab-surface);
  border-radius: var(--ab-radius-sm);
  color: var(--ab-ink);
  transition: border-color var(--ab-dur) var(--ab-ease);
  -webkit-appearance: none; appearance: none;
  outline: none;
  box-shadow: none;
}
.ab-contact-form__row input:hover:not(:focus),
.ab-contact-form__row textarea:hover:not(:focus) {
  border-color: var(--ab-ink-5, #b8c4d4);
}
.ab-contact-form__row input:focus,
.ab-contact-form__row textarea:focus {
  outline: none;
  border-color: var(--ab-blue);
  box-shadow: none;
}
.ab-contact-form__row textarea { resize: vertical; min-height: 100px; }
.ab-contact-form__privacy {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 12px; color: var(--ab-ink-3); margin: 8px 0 12px;
  cursor: pointer;
}
.ab-contact-form__privacy input { margin-top: 2px; flex-shrink: 0; width: auto; padding: 0; }
.ab-contact-form__privacy a { color: var(--ab-blue); text-decoration: underline; }
.ab-contact__btn--send { margin-top: 4px; }

/* .ab-contact-form__status moved to ab24.css (unified across detail + piani) */

@media (max-width: 991px) {
  .ab-sidebar { margin-top: 20px; }
}

/* Video lazy embed */
.ab-video-lazy {
  position: relative; width: 100%; aspect-ratio: 16 / 9;
  background: #000; border-radius: var(--ab-radius-sm); overflow: hidden;
  cursor: pointer;
}
.ab-video-lazy img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-video-lazy iframe { width: 100%; height: 100%; border: 0; display: block; }
.ab-video-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 68px; height: 48px; padding: 0; border: 0; background: transparent; cursor: pointer;
  transition: transform var(--ab-dur) var(--ab-ease);
}
.ab-video-play:hover { transform: translate(-50%, -50%) scale(1.1); }
.ab-video-lazy::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.3) 0%, transparent 30%);
  pointer-events: none;
}
.ab-video-lazy.is-playing::after { display: none; }

/* Related vehicles — section container only; cards use .ab-card from home */
.ab-related {
  margin-top: 40px; padding-top: 32px;
  border-top: 1px solid var(--ab-line);
}
.ab-related__head {
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px; flex-wrap: wrap; margin-bottom: 20px;
}
.ab-related__title {
  font-size: 22px; font-weight: 700; color: var(--ab-ink); margin: 0 0 4px;
}
.ab-related__sub { font-size: 14px; color: var(--ab-ink-3); margin: 0; }

/* Outline button styles use the global .ab-btn--outline from ab24.css */

/* ─────────────────────────────────────────────
 *  Mobile sticky CTA bar (shown only on small screens)
 * ───────────────────────────────────────────── */
.ab-mobile-cta { display: none; }

@media (max-width: 991px) {
  .ab-mobile-cta {
    display: flex; align-items: center; gap: 10px;
    position: fixed; left: 0; right: 0; bottom: 0;
    z-index: 900;
    padding: 10px 14px;
    background: #fff;
    border-top: 1px solid var(--ab-line);
    box-shadow: 0 -4px 16px rgba(15,25,35,0.08);
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    transition: transform 0.25s ease-out;
  }
  .ab-mobile-cta.is-hidden {
    transform: translateY(calc(100% + 20px));
    pointer-events: none;
  }

  .ab-mobile-cta__price {
    display: flex; flex-direction: column; line-height: 1.1;
    flex-shrink: 0;
  }
  .ab-mobile-cta__price-value {
    font-size: 17px; font-weight: 800; color: var(--ab-blue);
  }
  .ab-mobile-cta__price-iva {
    font-size: 10px; color: var(--ab-ink-4); margin-top: 2px;
  }

  .ab-mobile-cta__actions {
    flex: 1; display: flex; gap: 8px; justify-content: flex-end;
  }
  .ab-mobile-cta__btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 10px 14px; border-radius: var(--ab-radius-sm);
    font-size: 13px; font-weight: 700; color: #fff;
    text-decoration: none;
    transition: transform var(--ab-dur) var(--ab-ease);
  }
  .ab-mobile-cta__btn:active { transform: scale(0.97); }
  .ab-mobile-cta__btn .fa { font-size: 15px; }
  .ab-mobile-cta__btn--call { background: var(--ab-blue); }
  .ab-mobile-cta__btn--wa   { background: #25D366; }

  /* Ensure page content isn't hidden behind the bar */
  body.has-mobile-cta,
  body:has(.ab-mobile-cta) { padding-bottom: 80px; }
}

/* Hide on very narrow screens — labels only when space */
@media (max-width: 380px) {
  .ab-mobile-cta__btn span { display: none; }
  .ab-mobile-cta__btn { padding: 10px 14px; }
}

/* ─────────────────────────────────────────────
 *  Honeypot styles moved to ab24.css (unified across all pages)
 * ───────────────────────────────────────────── */

/* ─────────────────────────────────────────────
 *  Video noscript fallback
 * ───────────────────────────────────────────── */
.ab-video-noscript {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,0.7); color: #fff;
  font-weight: 700; text-decoration: none;
  font-size: 16px;
}
.ab-video-noscript:hover { color: #fff; background: rgba(0,0,0,0.85); }

/* ─────────────────────────────────────────────
 *  Print stylesheet — clean paper version
 * ───────────────────────────────────────────── */
@media print {
  /* Hide UI chrome */
  .ab-header, .ab-mobnav, .ab-footer,
  .ab-mobile-cta, .ab-gallery__nav, .ab-gallery__thumbs,
  .ab-gallery__expand, .ab-gallery__counter,
  .ab-lightbox, .ab-list-card__actions,
  .ab-sidebar-card:nth-child(1), /* Salva e condividi */
  .ab-sidebar-card:nth-child(3), /* Contattaci buttons (replaced by printed phones) */
  .ab-sidebar-card:nth-child(4), /* Scrivici form */
  .ab-related,
  .ab-crumbs,
  .ab-video-lazy, .ab-video-play,
  [data-fav-toggle], [data-cmp-toggle],
  button { display: none !important; }

  /* Paper-friendly layout */
  * { background: #fff !important; color: #000 !important; box-shadow: none !important; }
  body { font-size: 11pt; line-height: 1.4; }
  .container { max-width: 100% !important; padding: 0 !important; }

  /* Title + price prominent */
  .ab-detail__head { display: flex !important; border-bottom: 2px solid #000; padding-bottom: 8mm; margin-bottom: 6mm; }
  .ab-detail__title { font-size: 22pt !important; }
  .ab-detail__price { font-size: 20pt !important; color: #000 !important; }

  /* Main image takes full width */
  .ab-gallery { break-inside: avoid; border: 1px solid #999 !important; margin-bottom: 6mm; }
  .ab-gallery__main { max-height: 120mm !important; }
  .ab-gallery__main img { max-height: 120mm !important; }

  /* Keep spec sections compact and prevent page breaks inside */
  .ab-spec-section, .ab-main-data { break-inside: avoid; page-break-inside: avoid; border: 1px solid #999 !important; margin-bottom: 4mm; padding: 4mm 5mm !important; }
  .ab-spec-section__title, .ab-sidebar-card__title { border-color: #000 !important; color: #000 !important; }
  .ab-spec-section__title svg, .ab-spec-section__title .fa { display: none; }
  .ab-main-data__cell { border-color: #999 !important; }
  .ab-spec span, .ab-venditore__type, .ab-main-data__label { color: #444 !important; }
  .ab-spec strong, .ab-main-data__value, .ab-venditore__name { color: #000 !important; }

  /* Sidebar: show only dealer info with phones */
  .col-lg-4 { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; margin-top: 6mm; }
  .ab-sidebar-card { border: 1px solid #999 !important; padding: 4mm 5mm !important; }
  .ab-venditore__icon { color: #000 !important; }

  /* URL after links */
  a[href]:after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
  a[href^="tel:"]:after, a[href^="mailto:"]:after, a[href^="#"]:after { content: ""; }

  /* Page-break rules */
  h1, h2, h3 { page-break-after: avoid; }
  .ab-description { page-break-inside: auto; }

  /* Print URL + timestamp at bottom */
  .ab-detail::after {
    content: "Stampato da AutoBay24 — " attr(data-print-url);
    display: block; margin-top: 10mm; padding-top: 3mm;
    border-top: 1px solid #ccc; font-size: 9pt; color: #666;
  }
}
