

/* Zentrale Schriftart-Definition für alle Plugin-Elemente */
.autoforce1-container,
.autoforce1-filter,
.autoforce1-list,
.auto-item,
.expandable-container,
#auto-basisdaten,
#auto-technische-daten,
#auto-ausstattung,
#auto-langbeschreibung,
#email-senden,
.main_car,
.expandable-header,
.expandable-content,
.auto-header h2,
.auto-price,
.auto-details .detail,
.details-link,
.spec-item,
.spec-label,
.spec-value,
.view-more-button,
#anfrageFormular,
#anfrageFormular input[type="submit"],  /* Hinzugefügt für Submit-Buttons im Formular */
.desktop-anfrage input[type="submit"],  /* Hinzugefügt für Submit-Buttons im desktop-anfrage Container */
#contact-options,
.autoforce1-taxonomy-links,
.modellmenue,
.auto-header,
.btn,  /* Alle Bootstrap-Buttons */
.btn-success,  /* WhatsApp-Button */
.btn-info,  /* Anrufen-Button */
.main_car .right_detail_car #auto-titel,
.seo-heins-headline,
.desktop-anfrage  /* Der gesamte Anfragebereich */
{
  font-family: Chalkboard SE !important;
}

.af1-scarcity {
  --af1-scarcity-primary: #0f766e;
  --af1-scarcity-primary-text: #ffffff;
  --af1-scarcity-secondary: #f4c542;
  --af1-scarcity-secondary-text: #4a2d00;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 14px;
}

.af1-scarcity-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(30, 41, 59, 0.12);
  background: rgba(248, 250, 252, 0.92);
  color: #334155;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1.25;
  padding: 7px 11px;
}

.af1-scarcity-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d97706;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.12);
  flex: 0 0 auto;
}

.af1-scarcity-label {
  font-weight: 700;
}

.af1-scarcity-text {
  color: #475569;
}

.af1-scarcity-detail {
  margin-top: 12px;
  margin-bottom: 18px;
}

.af1-scarcity-detail .af1-scarcity-item {
  border-radius: 14px;
  padding: 10px 12px;
}

.af1-scarcity-simple {
  margin: 10px 0 14px;
  gap: 6px;
}

.af1-scarcity-simple .af1-scarcity-item {
  border-radius: 999px;
  font-size: 13px;
  padding: 6px 10px;
}

.af1-scarcity-list {
  margin: 8px 0 0;
  gap: 6px;
  width: 100%;
}

.af1-scarcity-list .af1-scarcity-item {
  font-size: 12px;
  padding: 5px 9px;
  max-width: 100%;
}

.af1-scarcity-list .af1-scarcity-label {
  white-space: normal;
}

.af1-scarcity-variant-badge .af1-scarcity-item {
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: var(--af1-scarcity-primary);
  color: var(--af1-scarcity-primary-text);
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.13);
  font-weight: 800;
  padding: 9px 12px;
}

.af1-scarcity-variant-badge .af1-scarcity-item:nth-child(even) {
  background: var(--af1-scarcity-secondary);
  color: var(--af1-scarcity-secondary-text);
}

.af1-scarcity-variant-badge .af1-scarcity-item {
  background: linear-gradient(90deg, var(--af1-scarcity-primary) 0%, color-mix(in srgb, var(--af1-scarcity-primary) 86%, #000000) 100%);
}

.af1-scarcity-variant-badge .af1-scarcity-item:nth-child(even) {
  background: linear-gradient(90deg, var(--af1-scarcity-secondary) 0%, color-mix(in srgb, var(--af1-scarcity-secondary) 86%, #000000) 100%);
}

.af1-scarcity-variant-badge .af1-scarcity-dot {
  width: 18px;
  height: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: none;
  position: relative;
}

.af1-scarcity-variant-badge .af1-scarcity-dot::after {
  content: '';
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: var(--af1-scarcity-primary);
}

.af1-scarcity-variant-badge .af1-scarcity-item:nth-child(even) .af1-scarcity-dot::after {
  background: var(--af1-scarcity-secondary-text);
}

.af1-scarcity-variant-badge.af1-scarcity-list .af1-scarcity-item {
  font-size: 12px;
  padding: 7px 10px;
}

.af1-scarcity-variant-notice_bar {
  width: 100%;
  border-left: 4px solid var(--af1-scarcity-primary);
  border-radius: 10px;
  background: #f8fafc;
  background: color-mix(in srgb, var(--af1-scarcity-primary) 8%, #ffffff);
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--af1-scarcity-primary) 12%, transparent);
  gap: 0;
  padding: 0 4px;
}

.af1-scarcity-variant-notice_bar .af1-scarcity-item {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #242424;
  padding: 10px 13px;
  position: relative;
}

.af1-scarcity-variant-notice_bar .af1-scarcity-item + .af1-scarcity-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 22%;
  bottom: 22%;
  width: 1px;
  background: rgba(15, 23, 42, 0.12);
  background: color-mix(in srgb, var(--af1-scarcity-primary) 18%, transparent);
}

.af1-scarcity-variant-notice_bar .af1-scarcity-dot {
  width: 8px;
  height: 8px;
  background: var(--af1-scarcity-primary);
  box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.08);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--af1-scarcity-primary) 12%, transparent);
}

.af1-scarcity-variant-notice_bar .af1-scarcity-label {
  color: var(--af1-scarcity-primary);
}

.af1-scarcity-variant-notice_bar.af1-scarcity-detail {
  margin-top: 14px;
  margin-bottom: 18px;
}

.af1-scarcity-variant-demand_module {
  gap: 10px;
}

.af1-scarcity-variant-demand_module .af1-scarcity-item {
  min-width: 172px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border: 1px solid color-mix(in srgb, var(--af1-scarcity-primary) 24%, #ffffff);
  background: #ffffff;
  background: color-mix(in srgb, var(--af1-scarcity-primary) 5%, #ffffff);
  color: #1f2933;
  border-radius: 10px;
  padding: 12px 14px;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.af1-scarcity-variant-demand_module .af1-scarcity-dot {
  width: 24px;
  height: 24px;
  background: var(--af1-scarcity-primary);
  box-shadow: 0 0 0 5px rgba(15, 23, 42, 0.08);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--af1-scarcity-primary) 10%, transparent);
}

.af1-scarcity-variant-demand_module .af1-scarcity-item:nth-child(even) {
  border-color: rgba(15, 23, 42, 0.12);
  border-color: color-mix(in srgb, var(--af1-scarcity-secondary) 35%, #ffffff);
  background: #ffffff;
  background: color-mix(in srgb, var(--af1-scarcity-secondary) 10%, #ffffff);
}

.af1-scarcity-variant-demand_module .af1-scarcity-item:nth-child(even) .af1-scarcity-dot {
  background: var(--af1-scarcity-secondary);
  box-shadow: 0 0 0 5px rgba(15, 23, 42, 0.08);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--af1-scarcity-secondary) 12%, transparent);
}

.af1-scarcity-variant-demand_module .af1-scarcity-label {
  display: block;
  font-size: 14px;
}

.af1-scarcity-variant-demand_module.af1-scarcity-list .af1-scarcity-item {
  min-width: 0;
  font-size: 12px;
  padding: 8px 10px;
}

/* Spezifischere Regel für Buttons, um sicherzustellen, dass sie die Schriftart übernehmen */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.btn,
.btn-success,
.btn-info,
.btn-lg,
.btn-primary,
a.btn {
  font-family: Chalkboard SE !important;
}

/* Gemeinsame Stile für interaktive Elemente */
.ui-slider-horizontal .ui-slider-handle {
	z-index:1;
}

.btns .auto-price,
.btns .details-link,
.price_and_back #auto-preis,
.autoforce1-filter form button,
#anfrageFormular input[type="submit"],
#contact-options .btn-success,
#contact-options .btn-info,
.btn-success,
.btn-info,
.details-link,
#email-senden input[type="submit"] {
  background-color: #e3232e;
  color: #ffffff;
  cursor: pointer;
  border: none;
  font-weight: 600;
  letter-spacing: 3px;
  transition: all .3s;
  text-transform: uppercase;
}

.price_and_back #auto-preis:hover,
.autoforce1-filter form button:hover,
#anfrageFormular input[type="submit"]:hover,
#contact-options .btn-success:hover,
#contact-options .btn-info:hover,
.btn-success:hover,
.btn-info:hover,
.details-link:hover,
#email-senden input[type="submit"]:hover {
  background-color: #ffffff;
  color: #ffffff !important;
}

/* Expandable Container Styling */
.expandable-container {
    margin-bottom: 15px;
    background-color: #f5f5f5;
    border: none;
}

.expandable-header {
    background-color: #242424;
    color: white;
    padding: 15px 20px;
    font-size: 18px;
    font-weight: 500;
}

.expandable-content {
    position: relative;
    overflow: hidden;
    padding: 20px;
    background-color: #f9f9f9;
    border-left: 3px solid #e3232e;
    max-height: 200px; /* Standardhöhe - wird via JS angepasst */
    transition: max-height 0.3s ease;
}

.expandable-content.expanded {
    max-height: 5000px; /* Sehr hoher Wert, der praktisch unbegrenzte Höhe erlaubt */
}

.content-wrapper {
    overflow: hidden;
}

.expandable-content:not(.expanded)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(to bottom, rgba(249, 249, 249, 0), rgba(249, 249, 249, 1));
    pointer-events: none;
}

.view-more-button {
    display: block;
    background-color: #e3232e;
    color: #ffffff;
    border: none;
    padding: 8px 15px;
    margin: 10px auto 0;
    cursor: pointer;
    text-align: center;
    width: 100%;
    max-width: 200px;
    font-weight: 500;
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
    z-index: 2;
}

.view-more-button:hover {
    opacity: 0.9;
}

.expandable-content.expanded .view-more-button {
    position: static;
    transform: none;
    margin-top: 20px;
}

/* Styles für die ausklappbaren Bereiche */
.expandable-container {
  border: 1px solid #ffffff;
  border-left: 0;
  margin-bottom: 15px;
  overflow: hidden;
}

.expandable-header {
  background-color: #242424; /* Dunkelgrauer Hintergrund passend zur Seite */
  color: white;
  padding: 15px 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: none;
  transition: all 0.3s ease;
  margin-bottom: 2px;
}

.expandable-content {
  background-color: #f9f9f9; /* Hellgrauer Hintergrund für Inhalte */
  transition: max-height 0.3s ease-in-out;
  border-left: 3px solid #e3232e; /* Seitliche Akzentlinie */
  padding: 20px;
}

/* Modellmenü */
#filter-button {
  display: none;
}

.modellmenue ul, 
.autoforce1-taxonomy-links {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.autoforce1-taxonomy-links {
  justify-content: center;
}

.modellmenue li,
.autoforce1-taxonomy-links .taxonomy-link-item {
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  padding: 5px 10px;
  border-radius: 5px;
  cursor: pointer;
}

.modellmenue li:hover,
.autoforce1-taxonomy-links .taxonomy-link-item:hover {
  background-color: #e0e0e0;
}

.modellmenue li a,
.autoforce1-taxonomy-links .taxonomy-link-item a {
  text-decoration: none;
  color: #333;
  display: block;
}

/* Grundlegende Formular-Styles */
#email-senden {
  font-family: Arial, sans-serif;
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

#email-senden h2 {
  text-align: center;
  color: #333;
}

#email-senden label {
  margin-top: 10px;
  display: block;
  color: #666;
}

#email-senden input[type="text"],
#email-senden input[type="tel"],
#email-senden input[type="email"],
#email-senden textarea {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border: 1px solid #ddd;
  border-radius: 5px;
  box-sizing: border-box;
}

#email-senden textarea {
  resize: vertical !important;
  overflow-y: scroll !important;
}

#email-senden textarea::-webkit-scrollbar {
  width: 10px !important;
}

#email-senden textarea::-webkit-scrollbar-track {
  background: #f1f1f1;
}

#email-senden textarea::-webkit-scrollbar-thumb {
  background-color: gray;
}

/* Fokuseffekt für Eingabefelder */
#email-senden input[type="text"]:focus,
#email-senden input[type="tel"]:focus,
#email-senden input[type="email"]:focus,
#email-senden textarea:focus {
  border-color: #0056b3;
  outline: none;
}

#deinname,
#telefonnummer,
#email,
#nachricht {
  margin: 0 !important;
}

.head-container h1.seo-heins-headline {
  margin-bottom: 30px;
}

.seo-heins-headline {
  font-size: 42px !important;
  text-align: center;
  color: #333333 !important;
}

/* Auto-Item Styling */
.auto-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  border: 1px solid #ffffff;
  border-left: 3px solid #e3232e;
  padding: 20px;
  margin-bottom: 20px;
  background-color: #f9f9f9;
}

.auto-image {
  flex-basis: 20%;
  flex-shrink: 0;
  padding-right: 20px;
}

.auto-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background-color: #fff;
  max-width: 150px;
  border: 1px solid #ccc;
}

.auto-content {
  flex-grow: 1;
}

.auto-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 20px;
}

.auto-header h2 {
  margin: 0;
}

.auto-price {
  background-color: #e3232e;
  color: #ffffff;
  padding: 5px 15px;
}

.auto-details {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}

.auto-details .detail {
  flex: 1 1 calc(50% - 10px);
  display: flex;
  align-items: center;
  min-height: 50px;
  padding: 0 10px;
  box-sizing: border-box;
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 5px;
  min-width: 200px;
  margin-bottom: 10px;
}

.auto-details .detail:nth-child(2n+0) {
  margin-left: auto;
}

/* Contact Buttons */
#anfrageFormular input[type="submit"],
.btn-success,
.btn-info {
  display: block !important;
  width: 100% !important;
  padding: 10px 20px !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  text-align: center !important;
  text-decoration: none !important;
  margin-bottom: 10px !important;
}

#contact-options .btn-success,
#contact-options .btn-info {
  padding: 20px !important;
  font-size: 20px !important;
  margin-bottom: 20px !important;
  margin-top: 20px !important;
  line-height: 0.5 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: none !important;
  font-family: Michroma, sans-serif !important;
}

#contact-options .btn-success i,
#contact-options .btn-info i {
  margin-right: 10px !important;
}

/* Filter Styles */
.autoforce1-filter {
  width: 25%;
  background-color: #F9F9F9;
  padding: 0px 10px;
  border-radius: 3px;
  border: 1px solid #ccc;
}

.autoforce1-filter form label {
  color: #5e5e5e;
  display: block;
  width: 100%;
  margin-top: 15px;
  padding-top: 5px;
  text-transform: capitalize;
}

.autoforce1-filter form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width:100%;
}

.filter-row {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.filter-col {
  flex: 1;
  margin-right: 15px;
}

.filter-col:last-child {
  margin-right: 0;
}

.autoforce1-filter form select {
  width: 100%;
  border: 1px solid #ccc;
  color: #5e5e5e;
  padding: 8px;
  box-sizing: border-box;
  font-size: 14px;
  padding: 10px 7px;
  border-radius:10px;
}

.autoforce1-wrapper {
  display: flex;
}

.no-link,
.no-link * {
  text-decoration: none !important;
  color: inherit;
  display: inherit;
  width: inherit;
  height: inherit;
}

/* Carousel Styles */
@mixin aspect-ratio($width, $height) {
  position: relative;

  &:before {
    display: block;
    content: '';
    width: 100%;
    padding-top: (\$height / \$width) * 100%;
  }

  >img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
  }
}

section {
  background: #F4F4F4;
  padding: 50px 0;
}

.container {
  max-width: 1044px;
  margin: 0 auto;
  padding: 0 20px;
}

.carousel {
  display: block;
  text-align: left;
  position: relative;
  margin-bottom: 22px;
}

.carousel__slides {
  position: relative;
  z-index: 1;
  padding: 0;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
  display: flex;
}

.carousel__slide {
  position: relative;
  display: block;
  flex: 1 0 100%;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: all 300ms ease-out;
  vertical-align: top;
  box-sizing: border-box;
  white-space: normal;
  min-height: 500px; /* Increased from default */
}

.carousel__slide figure {
  margin: 0;
  height: 100%;
}

.carousel__slide figure div {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.carousel__slide figure img {
  width: 100%;
  height: auto;
  display: block;
  max-height: none; /* Remove any height restrictions */
}

.carousel__slide div {
  width: 100%;
}

.carousel__slide img {
  display: block;
  flex: 1 1 auto;
  object-fit: cover;
}

.carousel__slide figcaption {
  align-self: flex-end;
  padding: 20px 20px 0 20px;
  flex: 0 0 auto;
  width: 25%;
  min-width: 150px;
}

.carousel__slide .credit {
  margin-top: 1rem;
  color: rgba(0, 0, 0, 0.5);
  display: block;
}

.carousel__thumbnails {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.carousel>input {
  width: 0px;
  height: 0px;
  margin: 0px;
  padding: 0px;
  border: none;
  opacity: 0;
  position: absolute;
}

.page-header {
  display: none;
}

body section {
  padding: 0;
  background-color: transparent;
}

.autoforce1-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.autoforce1-list {
  width: 70%;
  margin-left: auto;
}

.autoforce1-list .pagination {
  text-align: center;
}

.autoforce1-list .pagination span,
.autoforce1-list .pagination a {
  border: 1px solid #ccc;
  width: 30px;
  height: 30px;
  display: inline-block;
  padding-top: 1px;
}

.autoforce1-list .pagination a {
  text-decoration: none;
}

.autoforce1-list .auto-header h2 {
  font-size: 20px;
  line-height: 25px;
}

.auto-item .auto-item-first {
  width: 30%;
}

.auto-item .auto-item-second {
  width: 65%;
  margin-left: auto;
}

.auto-item .auto-item-first .auto-image {
  padding-right: 0;
  margin-right: 0;
}

.auto-item .auto-item-first img {
  max-width: 100%;
}

.auto-item .auto-item-second .btns {
  display: flex;
  justify-content: space-between;
}

.main_car {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
  margin-top: 20px;
}

.desktop-beschreibung,
.desktop-basisdaten {
  padding: 20px;
  border: 1px solid #20201f;
  //box-shadow: 0 5px 10px black;
}

.desktop-beschreibung {
    margin-bottom: 20px;
}

.main_car .left_detail_car {
  width: 58%;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.main_car .right_detail_car {
  width: 40%;
  position: relative;
  margin-left: auto;
  padding: 20px 15px;
}

.main_car .left_detail_car .carousel__thumbnails {
  margin-top: 20px;
  padding: 0;
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
}

.main_car .left_detail_car .carousel__thumbnails li {
  list-style: none;
  display: inline;
  cursor: pointer;
  width: 50px;
  height: 50px;
  max-width: calc((100% / 10) - 20px);
}

.main_car .left_detail_car .carousel__thumbnails li label {
  cursor: pointer;
  width: 50px;
  height: 50px;
}

.main_car .left_detail_car .carousel__thumbnails li label img {
  width: 50px;
  height: 40px;
}

.main_car .right_detail_car #auto-titel {
  font-size: 30px;
  margin-top: 50px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.main_car .right_detail_car #back-button {
  position: absolute;
  top: 0;
  left: 0;
}

.main_car .right_detail_car #back-button a {
  color: #fff;
  background-color: #000;
  padding: 10px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 18px;
  text-decoration: none;
  border-bottom-right-radius: 10px;
  height: 44px;
  width: 100%;
  transition: all .3s;
}

.main_car .right_detail_car #back-button a:hover {
    color: #fdc411;
}

.main_car .right_detail_car p {
  margin: 0;
  padding: 5px 0;
}

.main_car .right_detail_car strong {
  font-weight: bold;
}

.main_car .right_detail_car #auto-beschreibung {
  font-weight: bold;
  margin-bottom: 12px;
}

.slider-image {
  object-fit: contain !important; /* Vollbild ohne Beschnitt - Hochformat mit Rand statt abgeschnitten */
  background-color: #fff;
  width: 100%;
  height: 100%;
  max-height: none; /* Remove height restriction */
}

/* Responsive Sliders */
.slider-for {
  min-height: 500px; /* Set minimum height for slider container */
}

.slider-for .slick-slide {
  min-height: 500px; /* Increased height */
  height: auto;
  position: relative;
}

.slider-nav {
  margin-top: 10px;
  height: 100px;
}

.slider-nav .slick-slide {
  height: 100px;
  position: relative;
  border: 5px solid #fff;
  cursor: pointer;
}

.slider-for .slick-slide img,
.slider-nav .slick-slide img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9;
  padding: 10px 3px 6px 3px;
  background-color: rgba(255, 255, 255, 0.7);
}

.slick-next {
  right: 0;
}

.slick-arrow img {
  width: 30px;
}

.slick-previous {
  left: 0;
}

.left_detail_car .price_and_back, .mobile-anfrage, .mobile-basisdaten, .mobile-scarcity {
  display: none;
}

.main_car .left_detail_car #auto-titel {
  display: none;
}

.custom_paging {
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #000;
  color: #fff;
  padding: 4px 0;
  width: 52px;
  text-align: center;
  border-top-left-radius: 5px;
  z-index: 5;
}

.custom_paging li {
  display: none;
}

.custom_paging li.slick-active {
  display: inline-block;
  font-weight: bold;
}

/* Lightbox Styles */
.lightbox {
  display: none;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.lightbox img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100vh;
  z-index: 90 !important;
}

.close {
  position: absolute;
  top: 10px;
  right: 20px;
  color: #fff;
  font-size: 30px;
  cursor: pointer;
  z-index: 100;
}

.next,
.previous {
  position: absolute;
  color: #fff;
  font-size: 30px;
  cursor: pointer;
  top: 50%;
  transform: translateY(-50%);
}

.next {
  right: 20px;
}

.previous {
  left: 20px;
}

.lightbox .next,
.lightbox .previous {
  top: 49% !important;
  z-index: 100;
  background-color: #e3232e;
  height: 45px;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 35px;
}

.lightbox .next {
  border-radius: 0 7px 7px 0;
  right: 10px
}

.lightbox .previous {
  border-radius: 7px 0 0 7px;
  left: 10px;
}

.lightbox .image-count {
  position: absolute !important;
  bottom: 30px !important;
  left: 50% !important;
  z-index: 1000 !important;
  color: #ffff;
  font-size: 14px;
  background-color: #000000;
  padding: 0 7px;
}

/* Slider heights for different screen sizes */
@media screen and (max-width: 539px) {
  .slider-for, .carousel__slide, .slider-for .slick-slide {
    min-height: 450px;
  }
}

@media screen and (min-width: 540px) and (max-width: 767px) {
  .slider-for, .carousel__slide, .slider-for .slick-slide {
    min-height: 470px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .slider-for, .carousel__slide, .slider-for .slick-slide {
    min-height: 550px;
  }
}

@media screen and (min-width: 1024px) {
  .slider-for, .carousel__slide, .slider-for .slick-slide {
    min-height: 650px;
  }
}

/* Spec Items */
#auto-basisdaten, 
#auto-technische-daten {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 20px;
}

.spec-item {
  display: flex;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
  width: 50%;
  box-sizing: border-box;
}

.spec-item:nth-child(odd) {
  padding-right: 10px;
}

.spec-item:nth-child(even) {
  padding-left: 10px;
}

#auto-basisdaten .spec-item:last-child {
  border-bottom: 1px solid #f0f0f0;
}

.spec-value {
  font-size: 16px;
  font-weight: 600;
  color: #222;
  word-break: break-word;
  min-height: 20px;
}

.spec-item .icon {
  width: 28px;
  min-width: 28px;
  height: 28px;
  margin-right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B500FF;
}

.spec-item .icon svg {
  width: 20px;
  height: 20px;
}

.spec-label {
  font-size: 13px;
  color: #777;
  margin-bottom: 3px;
}

.filter-col.full-width {
    width: 100%;
    margin-right: 0;
}

.slider-container {
    padding: 10px 10px 25px;
    margin-bottom: 20px;
    position: relative;
}

.slider-range {
    margin: 15px 5px 25px 5px;
    height: 10px;
}

.slider-values {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 0.9em;
    position: absolute;
    width: 100%;
    left: 0;
    padding: 0 10px;
    box-sizing: border-box;
}

.ui-slider-horizontal {
    height: 8px;
    background: #e0e0e0;
    border: none;
    border-radius: 4px;
}

.ui-slider .ui-slider-handle {
    width: 24px;  /* Größer für bessere Touch-Unterstützung */
    height: 24px; /* Größer für bessere Touch-Unterstützung */
    border-radius: 50%;
    border: 2px solid #fff;
    cursor: pointer;
    background: #3498db;
    outline: none;
    top: -8px;    /* Angepasst für die neue Größe */
    margin-left: -12px; /* Angepasst für die neue Größe */
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
    touch-action: none; /* Wichtig für besseres Touch-Verhalten */
}

.ui-slider-range {
    background: #3498db;
    border-radius: 4px;
}

.elegant-price {
    display: inline-block;
    position: relative;
    background-color: #B500FF;
    color: white;
    font-size: 40px;
    font-weight: 700;
    padding: 12px 18px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transform: rotate(8deg);
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.elegant-price::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0));
    border-radius: 4px 4px 0 0;
    pointer-events: none;
}

/* Spezielle Touch-Anpassungen */
@media (max-width: 768px) {
    .slider-container {
        padding-bottom: 30px;
    }
    
    /* Erhöhter unsichtbarer Touch-Bereich für die Handles */
    .ui-slider .ui-slider-handle:before {
        content: '';
        position: absolute;
        width: 44px;
        height: 44px;
        left: -10px;
        top: -10px;
        z-index: -1;
    }
    
    /* Mehr Abstand für die Slider */
    .slider-range {
        margin-top: 20px;
        margin-bottom: 30px;
    }
    
    /* Größeren Abstand zwischen den Filtern */
    .filter-row {
        margin-bottom: 25px;
    }
}

/* Responsive Styles */
@media (max-width: 768px) {
  #filter-button {
    display: block;
    width: 100%;
    padding: 15px;
    font-size: 18px;
    text-align: center;
    color: #000;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    margin-bottom: 20px;
  }

  .autoforce1-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .auto-item {
    flex-direction: column;
  }

  .auto-image {
    max-width: 100%;
    margin-bottom: 20px;
  }

  .auto-content {
    padding-left: 0;
    padding-right: 0;
  }

  .next,
  .previous {
    font-size: 24px;
  }

 .desktop-anfrage, .desktop-scarcity {
    display: none;
  }

  .desktop-basisdaten {
    display: none;
  }

 .mobile-anfrage, .mobile-basisdaten, .mobile-scarcity {
  display: block;
}	

  .af1-scarcity-variant-notice_bar {
    display: block;
    padding: 2px 0;
  }

  .af1-scarcity-variant-notice_bar .af1-scarcity-item {
    display: flex;
    width: 100%;
    box-sizing: border-box;
  }

  .af1-scarcity-variant-notice_bar .af1-scarcity-item + .af1-scarcity-item::before {
    left: 12px;
    right: 12px;
    top: 0;
    bottom: auto;
    width: auto;
    height: 1px;
  }

  .af1-scarcity-variant-demand_module .af1-scarcity-item {
    min-width: 0;
    flex: 1 1 100%;
  }

  .mobile-anfrage {
    margin-top: 1rem;
  }

  .mobile-basisdaten {
    margin-left: 1rem;
    margin-top: 2rem;
  }

  .auto-item .auto-item-first {
    width: 100%;
  }

  .auto-item .auto-item-second {
    width: 100%;
  }

  .auto-details .detail {
    min-width: 49%;
  }
}

@media (max-width: 580px) {
  .spec-item {
    width: 100%;
    padding: 8px 0;
  }
  
  .spec-item:nth-child(odd),
  .spec-item:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
  }
}

@media (max-width: 500px) {
  #filter-button {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  #email-senden {
    padding: 15px !important;
  }

  #nachricht {
    height: 200px;
  }

  .auto-details .detail {
    min-width: 100%;
  }

  .auto-item .auto-item-second .btns {
    display: block;
  }

  .auto-item .auto-item-second span.auto-price {
    width: 100%;
    margin-bottom: 20px;
    display: block;
  }

  .auto-item .auto-item-second a.details-link {
    width: 100%;
  }

  .main_car .left_detail_car .carousel__thumbnails li {
    max-width: calc((100% / 5) - 20px);
  }

  .carousel__thumbnails {
    gap: 8px;
  }

  .main_car .right_detail_car #auto-titel {
    font-size: 21px;
    margin-top: 92px;
  }

  .main_car .right_detail_car #back-button {
    width: 100%;
  }

  .main_car .right_detail_car #back-button a {
    text-align: center;
    width: 100%;
    border-radius: 0;
  }

  .main_car .right_detail_car #auto-preis {
    margin-top: 44px;
    width: 100%;
    border-radius: 0;
  }

  .left_detail_car .price_and_back {
    display: block;
  }

  .main_car .left_detail_car #auto-preis {
    width: 100%;
  }

  .main_car .left_detail_car #back-button {
    width: 100%;
  }

  .next,
  .previous {
    font-size: 20px;
    top: auto;
    bottom: 20px;
    transform: translateY(0);
  }

  .next {
    right: 30px;
  }

  .previous {
    left: 30px;
  }
}

/* Slider heights for different screen sizes */
@media screen and (max-width: 539px) {
  .slider-for {
    height: 300px;
  }
}

@media screen and (min-width: 540px) and (max-width: 767px) {
  .slider-for {
    height: 270px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .slider-for {
    height: 350px;
  }
}


@media screen and (min-width: 1024px) {
  .slider-for, .carousel__slide, .slider-for .slick-slide {
    min-height: 455px;
    max-height: 300px; /* Reduced by 30% */
  }
}

/* --------------*/
/* DETAILANSICHT */
/* --------------*/

.elementor-62835 {
	background-color:#e0e0e0;
}

.elegant-price::before {
	background:none;
}

.elegant-price {
	box-shadow: none;
  text-shadow: none;
}

.desktop-beschreibung {
		border-radius: 10px;
background: linear-gradient(145deg, #ececec, #f0f0f0);
box-shadow:  5px 5px 20px #bebebe,
             -5px -5px 20px #ffffff;
	border:none;
min-height: 42px;
}

.desktop-basisdaten {
		border-radius: 10px;
background: linear-gradient(145deg, #ececec, #f0f0f0);
box-shadow:  5px 5px 20px #bebebe,
             -5px -5px 20px #ffffff;
	border:none;
min-height: 42px;
}

.right_detail_car .desktop-anfrage input, .right_detail_car .desktop-anfrage .btn {
	border-radius:10px!important;
	overflow:hidden;
}

.slick-slide img {
	border-radius:10px;
	top:17px;
}

.slick-slide{
	border-radius:15px;
	margin:2px;
}

.slider-for {
	border-radius:15px!important;
}

.slider-for .slick-prev{
	border-radius:0 10px 10px 0;
}

.slider-for .slick-next{
	border-radius:10px 0 0 10px;
}

.slider-for .slick-prev, .slider-for .slick-next {
  width:62px;
	transition:0.5s;
border:none;
height:47px;

}

.slider-for .slick-prev:hover, .slider-for .slick-next:hover {
	width:100px;
	transition:0.5s;
	background-color:#B500FF!important;
}

/* container */

.expandable-container{
			border-radius: 10px;
background: linear-gradient(145deg, #ececec, #f0f0f0);
box-shadow:  5px 5px 20px #bebebe,
             -5px -5px 20px #ffffff;
	border:none;
min-height: 42px;
}

.expandable-content {
	background:none;
	border:none;
}

.view-more-button {
	border-radius:10px!important;
}

.view-more-button:hover {
	background:#B500FF!important;
}
	
	.price_and_back #auto-preis, .price_and_back #back-button, #anfrageFormular input, .mobile-anfrage a {
		margin-bottom:15px!important;
		border-radius:10px!important;
		overflow:hidden;
	}

.price_and_back #back-button {
	margin-left:10px;
}

/* querrys */

@media (max-width: 500px) {

	.price_and_back {
		flex-wrap: wrap;
	}
	
	.price_and_back #auto-preis, .price_and_back #back-button {
  width: 100%!important;
margin-left:0px;
}
	
	.slider-for .slick-slide img {
		min-height:300px;
	}	
	
}

@media only screen and (max-width: 765px) {
  .main_car .left_detail_car #auto-ausstattung {
    margin-bottom: 0px !important;
  }
	/*.desktop-basisdaten {
    display: block;
  } */
}

/* --------- */
/* Auto-item */
/* --------- */

.auto-item {
	flex-wrap: wrap;
	
	border-radius: 20px;
background: linear-gradient(145deg, #f0f0f0, #cacaca);
box-shadow:  20px 20px 60px #bebebe,
             -20px -20px 60px #ffffff;
	border:1px solid #ddd;
}

.ui-slider-range {
  background: #B500FF!important;
}

#sortierung {
  flex-wrap: wrap;
  border-radius: 20px;
  background: linear-gradient(145deg, #f0f0f0, #cacaca);
  box-shadow: 20px 20px 60px #bebebe, -20px -20px 60px #ffffff;
  border: 1px solid #ccc;
  margin-bottom: 15px;
}

.auto-header {
  width: 100%;
}

.auto-item .auto-item-first {
  width: 37%;
	border-radius:20px;
	overflow:hidden;
}

.auto-item .auto-item-second {
  width: 60%;
  margin-left: auto;
}


.auto-details .detail {
	border-radius: 10px;
background: linear-gradient(145deg, #ececec, #f0f0f0);
box-shadow:  5px 5px 20px #bebebe,
             -5px -5px 20px #ffffff;
	border:none;
min-height: 42px;
}

.auto-details .detail:hover {
background: #fff!important;

}

.auto-item .auto-item-second span.auto-price, .auto-item .auto-item-second a.details-link {
 border-radius:10px;
 min-width:200px;
}

.auto-item .auto-item-second span.auto-price:hover, .auto-item .auto-item-second a.details-link:hover {
background-color:#B500FF;	
}

.auto-item .auto-item-second .btns {
  display: flex;
  justify-content: space-between;
	flex-wrap: wrap;
}

.auto-item .icon {
	margin-top:7px;
	color: #B500FF!important;	
}

.auto-item .detail strong {
  font-size: 12px!important;
  color: #777!important;
	margin-left:10px;
}

#sortform {
  width: 100%;
  height: 50px;
  position: relative;
}

#sortformrow{position:absolute;
right:0px;
width:270px;
}

#sortformfoundcar {position:absolute; margin-top:10px;}
#sortformrow label{display:none;}

/* pagination */

.custom-pagination .current {border-radius:10px; border:none!important;}

.custom-pagination a {border-radius:10px; color:black;}

.custom-pagination a:hover {border-radius:10px;
border:none!important;}

.dots {
  margin-right: 4px;
	border-radius:10px;
}

/* Main Elements */

.elementor-94476, .post-91022 {
	background-color:#e0e0e0;
}

h1.seo-heins-headline {
	position:relative;
}


/* Sidebar */

.autoforce1-filter {
	border-radius: 20px;
background: linear-gradient(145deg, #f0f0f0, #cacaca);
box-shadow:  20px 20px 60px #bebebe,
             -20px -20px 60px #ffffff;
		border:1px solid #ddd;
}

#filter-submit-btn {
margin-top:15px;
border-radius:10px;
}

#reset-filters {
	padding: 10px 20px;
	margin-bottom: 15px;
  border-radius:10px;
	color: #20201f !important;
}

/* querrys */

@media (max-width: 1370px) {

	.auto-item .auto-item-first {margin-bottom:20px;}
	
.auto-item .auto-item-second span.auto-price, .auto-item .auto-item-second a.details-link {
 border-radius:10px;
 width:100%;
}
	
	.auto-item .auto-item-second span.auto-price {margin-bottom:15px;}
	
}


@media (max-width: 1070px) {
	
.auto-item .auto-item-first {
  width: 49%;
  border-radius: 20px;
  overflow: hidden;
}
	
.auto-item .auto-item-first img {border-radius: 20px;}
	
.auto-item .auto-item-second {
		width:100%;
}
	
.auto-item .auto-item-second span.auto-price, .auto-item .auto-item-second a.details-link {
 border-radius:10px;
 width:100%;
}

.main_car .right_detail_car #auto-preis {
  top: 37px!important;
  z-index: 30;
    transform: rotate(-8deg);
}
	
}

@media (max-width: 870px) {
	.auto-item .auto-item-first {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
}	
}

@media (max-width: 768px) {
  .autoforce1-filter {
    width: 100%;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
    height: 100%!important;
  }
#filter-options {width:100%;}
}

/* Gemeinsame Stile für alle Listen im Dokument - entfernt die Standard-Bullets */
ul {
    list-style: none;
}

/* Stile für die Ausstattungsliste (Hauptliste mit Spalten) */
#auto-ausstattung .ausstattung-liste {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

#auto-ausstattung .ausstattung-item {
    width: 33.33%; /* 3 Spalten auf Desktop */
    padding: 5px 5px 5px 28px; /* Mehr horizontalen Abstand */
    position: relative;
    box-sizing: border-box;
    margin-bottom: 8px; /* Vertikaler Abstand zwischen Elementen */
    overflow-wrap: break-word; /* Wörter umbrechen bei Bedarf */
    word-break: break-word; /* Alternative für besseren Umbruch */
    hyphens: auto; /* Silbentrennung wenn möglich */
}

#auto-ausstattung .ausstattung-item::before {
    content: "✓";
    position: absolute;
    left: 5px; /* Leicht nach rechts gerückt */
    top: 5px;
    color: #e3232e;
}

/* Responsive Design für Ausstattungsliste */
@media (max-width: 900px) {
    #auto-ausstattung .ausstattung-item {
        width: 50%; /* 2 Spalten bereits bei 900px */
    }
}

@media (max-width: 550px) {
    #auto-ausstattung .ausstattung-item {
        width: 100%; /* 1 Spalte auf Smartphones */
    }
}

@media (max-width: 480px) {
    .btns .auto-price, .btns .details-link {
        width: 100%!important; /* 1 Spalte auf Smartphones */
    }

	#sortformrow {width:100%;}
	#sortierung {color: black;}
}

/* CSS für die Langbeschreibung - spezifischer Selektor für diesen Bereich */
#auto-langbeschreibung .content-wrapper ul {
    list-style: none;
    padding-left: 0;
}

#auto-langbeschreibung .content-wrapper ul li:first-child {
    padding-left: 0;
}

#auto-langbeschreibung .content-wrapper ul li:not(:first-child) {
    position: relative;
    padding-left: 25px; /* Platz für Häkchen */
    margin-bottom: 8px;
}

#auto-langbeschreibung .content-wrapper ul li:not(:first-child)::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 3px; /* Leicht nach unten verschoben */
    color: #e3232e;
}

/* CSS für die Highlights der Ausstattung (Screenshot-Bereich) */
/* Dies nimmt an, dass diese in einem anderen Bereich sind oder eine eigene Klasse haben */
.highlights-liste li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 8px;
    line-height: 1.5;
}

.highlights-liste li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 3px;
    color: #e3232e;
}


/* ----------- */
/* Theme Color */
/* ----------- */

/* ---Light BG--- */

/* general */
.elementor-94476, .post-91022, .elementor-62835 {
	background-color:#ffffff;
}

/* sidebar */
.autoforce1-filter {
  display: flex;
  align-items: flex-start;
	  box-shadow: 10px 10px 20px #e8e8e8, -10px -10px 20px #fff;
	  background: linear-gradient(145deg, #ffffff, #eee);
			align-self: flex-start;
	margin-bottom:30px!important;
}

#filter-submit-btn {
  margin-bottom: 15px;
}

#sortierung {
  background: linear-gradient(145deg, #ffffff, #eee);
  box-shadow: 10px 10px 20px #e8e8e8, -10px -10px 20px #fff;
  border: 1px solid #ccc;
 }

/* list */
.auto-item {
  background: linear-gradient(145deg, #ffffff, #eee);
  box-shadow: 10px 10px 20px #e8e8e8, -10px -10px 20px #fff;
}

/* detail */

.desktop-beschreibung,
.desktop-basisdaten, .expandable-container {
	box-shadow: 5px 5px 20px #e8e8e8, -5px -5px 20px #ffffff;
}

/* Auto-Berater Widget */
.af1-advisor-widget {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 99998;
  font-family: Chalkboard SE, Arial, sans-serif !important;
}

.af1-advisor-launcher {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 64px;
  border: 0;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  padding: 8px 16px 8px 8px;
  box-shadow: 0 16px 36px rgba(17, 24, 39, 0.26);
  cursor: pointer;
}

.af1-advisor-launcher:focus-visible {
  outline: 3px solid #facc15;
  outline-offset: 3px;
}

.af1-advisor-avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fff;
  object-fit: cover;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.8);
  animation: af1-advisor-bob 4.6s ease-in-out infinite;
}

.af1-advisor-launcher-text {
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}

.af1-advisor-no-avatar .af1-advisor-launcher {
  min-height: 44px;
  padding: 13px 18px;
}

.af1-advisor-no-avatar .af1-advisor-launcher-text {
  display: inline;
}

.af1-advisor-pulse {
  position: absolute;
  inset: 3px auto auto 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #facc15;
  box-shadow: 0 0 0 0 rgba(250, 204, 21, 0.6);
  animation: af1-advisor-pulse 1.8s ease-out infinite;
}

.af1-advisor-panel {
  position: absolute;
  right: 0;
  bottom: 78px;
  width: min(390px, calc(100vw - 28px));
  max-height: min(650px, calc(100vh - 120px));
  display: block;
  overflow: auto;
  border: 1px solid rgba(17, 24, 39, 0.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(17, 24, 39, 0.28);
  -webkit-overflow-scrolling: touch;
}

.af1-advisor-panel[hidden] {
  display: none;
}

.af1-advisor-close-bar {
  position: sticky;
  top: 10px;
  z-index: 30;
  display: flex;
  justify-content: flex-end;
  padding: 0 10px;
  height: 0;
  overflow: visible;
  pointer-events: none;
}

.af1-advisor-close-bar > .af1-advisor-close {
  pointer-events: auto;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #111827 !important;
  box-shadow: 0 4px 14px rgba(17, 24, 39, 0.18), 0 0 0 1px rgba(17, 24, 39, 0.08);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 0;
  transition: transform 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.af1-advisor-close-bar > .af1-advisor-close:hover {
  background: #fff !important;
  transform: scale(1.08);
  box-shadow: 0 6px 18px rgba(17, 24, 39, 0.24), 0 0 0 1px rgba(17, 24, 39, 0.12);
}

.af1-advisor-close-bar > .af1-advisor-close:active {
  transform: scale(0.96);
}

.af1-advisor-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  padding-right: 48px;
  background: #111827;
  color: #fff !important;
}

.af1-advisor-header strong {
  display: block;
  font-size: 16px;
  line-height: 1.2;
  color: #fff !important;
}

.af1-advisor-header span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  opacity: 0.78;
  color: #fff !important;
}

.af1-advisor-close {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #111827;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: -apple-system, "Segoe UI", system-ui, sans-serif;
}

.af1-advisor-messages {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
  overflow: visible;
  padding: 16px;
  background: linear-gradient(180deg, #f9fafb 0%, #fff 100%);
}

.af1-advisor-lead-cta {
  padding: 14px 16px 4px;
  background: #fff7ed;
  border-top: 1px solid #fed7aa;
}

.af1-advisor-lead-cta[hidden] {
  display: none;
}

.af1-advisor-lead-button {
  display: block;
  text-align: center;
  background: #dc2626;
  color: #fff;
  text-decoration: none;
  padding: 12px 16px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 15px;
}

.af1-advisor-lead-button:hover,
.af1-advisor-lead-button:focus {
  background: #b91c1c;
  color: #fff;
}

.af1-advisor-lead-hint {
  margin: 8px 0 0;
  color: #92400e;
  font-size: 12px;
  line-height: 1.4;
}

.af1-advisor-lead-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.af1-advisor-lead-form input,
.af1-advisor-lead-form textarea {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
  box-sizing: border-box;
  background: #fff;
}

.af1-advisor-lead-form textarea {
  resize: vertical;
  min-height: 56px;
}

.af1-advisor-lead-form input:focus,
.af1-advisor-lead-form textarea:focus {
  outline: 2px solid #dc2626;
  outline-offset: 1px;
  border-color: #dc2626;
}

.af1-advisor-lead-submit {
  background: #dc2626;
  color: #fff;
  border: 0;
  padding: 11px 16px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  margin-top: 2px;
}

.af1-advisor-lead-submit:hover:not(:disabled) {
  background: #b91c1c;
}

.af1-advisor-lead-submit:disabled {
  opacity: 0.6;
  cursor: wait;
}

.af1-advisor-lead-status {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.4;
}

.af1-advisor-lead-status-success {
  color: #166534;
}

.af1-advisor-lead-status-error {
  color: #991b1b;
}

.af1-advisor-message {
  display: flex;
}

.af1-advisor-message > div {
  max-width: 88%;
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.4;
}

.af1-advisor-message-assistant {
  justify-content: flex-start;
}

.af1-advisor-message-assistant > div {
  background: #fff;
  border: 1px solid #e5e7eb;
  color: #1f2937;
}

.af1-advisor-message-user {
  justify-content: flex-end;
}

.af1-advisor-message-user > div {
  background: #dc2626;
  color: #fff;
}

.af1-advisor-recommendations {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

.af1-advisor-car-card {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 72px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  color: #111827;
  text-decoration: none;
  overflow: hidden;
}

.af1-advisor-car-card:hover {
  border-color: #facc15;
}

.af1-advisor-car-card img,
.af1-advisor-card-image-empty {
  width: 74px;
  height: 72px;
  object-fit: cover;
  background: #f3f4f6;
}

.af1-advisor-car-card span {
  min-width: 0;
  padding: 7px 8px 7px 0;
}

.af1-advisor-car-card b,
.af1-advisor-car-card em,
.af1-advisor-car-card strong,
.af1-advisor-car-card small {
  display: block;
}

.af1-advisor-car-card em {
  color: #ca8a04;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}

.af1-advisor-car-card b {
  overflow: hidden;
  color: #111827;
  font-size: 12px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.af1-advisor-car-card strong {
  margin-top: 4px;
  color: #dc2626;
  font-size: 13px;
  line-height: 1.2;
}

.af1-advisor-car-card small {
  margin-top: 3px;
  color: #6b7280;
  font-size: 11px;
  line-height: 1.25;
}

.af1-advisor-chips {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 0 16px 12px;
}

.af1-advisor-question {
  margin: 0 0 2px;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.af1-advisor-chips button,
.af1-advisor-lead-form button {
  border: 0;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.af1-advisor-chips button {
  background: #f3f4f6;
  color: #1f2937;
  width: 100%;
  border-radius: 10px;
  text-align: left;
  line-height: 1.25;
  white-space: normal;
}

.af1-advisor-lead-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0 16px 14px;
}

.af1-advisor-lead-form[hidden] {
  display: none;
}

.af1-advisor-lead-form textarea,
.af1-advisor-lead-form button {
  grid-column: 1 / -1;
}

.af1-advisor-lead-form input,
.af1-advisor-lead-form textarea,
.af1-advisor-input {
  min-width: 0;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 10px 11px;
  font-size: 14px;
}

.af1-advisor-input-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 14px 16px;
  border-top: 1px solid #e5e7eb;
}

.af1-advisor-privacy {
  margin: 0;
  padding: 0 16px 14px;
  color: #6b7280;
  font-size: 11px;
  line-height: 1.35;
}

.af1-advisor-busy .af1-advisor-chips button {
  opacity: 0.55;
  cursor: wait;
}

.af1-advisor-debug-panel {
  position: fixed;
  right: 430px;
  bottom: 22px;
  z-index: 99997;
  width: min(330px, calc(100vw - 32px));
  max-height: min(520px, calc(100vh - 80px));
  overflow: auto;
  border: 1px solid rgba(17, 24, 39, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 46px rgba(17, 24, 39, 0.22);
  color: #111827;
  font-family: Chalkboard SE, Arial, sans-serif !important;
  font-size: 12px;
  line-height: 1.35;
  padding: 12px;
}

.af1-advisor-debug-panel strong {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}

.af1-advisor-debug-reset {
  width: 100%;
  margin: 0 0 10px;
  border: 0;
  border-radius: 6px;
  background: #111827;
  color: #ffffff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  padding: 9px 10px;
  text-transform: uppercase;
}

.af1-advisor-debug-reset:hover,
.af1-advisor-debug-reset:focus-visible {
  background: #dc2626;
  outline: none;
}

.af1-advisor-debug-panel dl {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 5px 8px;
  margin: 0;
}

.af1-advisor-debug-panel dt {
  color: #6b7280;
  font-weight: 700;
}

.af1-advisor-debug-panel dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.af1-advisor-debug-panel pre {
  margin: 0;
  white-space: pre-wrap;
  font-size: 11px;
}

.af1-advisor-debug-ai-details {
  grid-column: 1 / -1;
}

.af1-advisor-debug-ai-details summary {
  cursor: pointer;
  font-weight: 800;
}

.af1-advisor-debug-ai-details p {
  margin: 6px 0 0;
  color: #6b7280;
}

.af1-advisor-debug-ai-entry {
  display: block;
  margin-top: 8px;
}

.af1-advisor-debug-ai-entry b,
.af1-advisor-debug-ai-entry span {
  display: block;
  margin: 6px 0 3px;
}

@keyframes af1-advisor-pulse {
  0% { box-shadow: 0 0 0 0 rgba(250, 204, 21, 0.6); }
  70% { box-shadow: 0 0 0 13px rgba(250, 204, 21, 0); }
  100% { box-shadow: 0 0 0 0 rgba(250, 204, 21, 0); }
}

@keyframes af1-advisor-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@media (prefers-reduced-motion: reduce) {
  .af1-advisor-avatar,
  .af1-advisor-pulse {
    animation: none;
  }
}

@media (max-width: 640px) {
  .af1-advisor-widget {
    right: 12px;
    bottom: 12px;
  }

  .af1-advisor-launcher-text {
    display: none;
  }

  .af1-advisor-launcher {
    min-height: 56px;
    padding: 5px;
  }

  /* Mobile: schmaleres Bottom-Sheet (~62vw), rechts am Launcher angedockt.
     EIN gemeinsamer Scroll-Bereich fuer Messages + Empfehlungen + Chips +
     Lead-Form + Input. Header bleibt sticky oben. Kein flex-Layout mehr,
     kein eigenes Scrolling im Messages-Bereich. */
  .af1-advisor-panel {
    position: fixed;
    top: auto;
    right: 8px;
    bottom: 100px;
    left: auto;
    width: 62vw;
    min-width: 250px;
    max-width: 480px;
    height: 70vh;
    max-height: none;
    border-radius: 18px 18px 14px 14px;
    display: block;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  /* Drag-Handle als visueller Hinweis dass es ein Sheet ist — bewegt mit
     beim Scrollen, weil er nicht sticky ist. */
  .af1-advisor-panel::before {
    content: "";
    display: block;
    margin: 6px auto 0;
    width: 36px;
    height: 4px;
    border-radius: 2px;
    background: rgba(17, 24, 39, 0.18);
    pointer-events: none;
  }

  /* Close-Bar bleibt sticky oben, damit das X immer erreichbar ist. */
  .af1-advisor-close-bar {
    position: sticky;
    top: 0;
    padding: 8px;
    z-index: 35;
    pointer-events: none;
    display: flex;
    justify-content: flex-end;
  }
  .af1-advisor-close-bar > .af1-advisor-close {
    width: 36px;
    height: 36px;
    font-size: 20px;
    pointer-events: auto;
  }

  /* Header bleibt oben sticky beim Scrollen. */
  .af1-advisor-header {
    position: sticky;
    top: 0;
    z-index: 4;
    padding: 14px 14px 10px;
    padding-right: 54px;
    gap: 8px;
  }
  .af1-advisor-header strong { font-size: 13px !important; }
  .af1-advisor-header span { font-size: 11px !important; }

  /* Messages: KEIN eigenes Scrolling mehr — fliessen ins Panel-Scroll. */
  .af1-advisor-messages {
    padding: 10px 12px;
    font-size: 13px;
    gap: 8px;
    overflow: visible;
    background: #fafbfc;
  }

  /* Quick-Actions: keine flex-shrink-Logik mehr, fliessen normal. */
  .af1-advisor-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px 12px 8px;
    background: transparent;
  }
  .af1-advisor-question {
    flex: 1 1 100%;
    margin: 0 0 2px;
    font-size: 11px;
    font-weight: 700;
    color: #374151;
    line-height: 1.2;
  }
  .af1-advisor-chips button {
    flex: 1 1 calc(50% - 4px);
    min-width: 120px;
    min-height: 38px;
    font-size: 12px;
    padding: 8px 10px;
    border-radius: 999px;
  }

  /* Input-Row und Lead-Form fliessen normal weiter unten im Panel. */
  .af1-advisor-input-row {
    background: #fff;
  }
  .af1-advisor-input,
  .af1-advisor-input-row {
    font-size: 14px;
  }
  .af1-advisor-lead-cta {
    background: #fff7ed;
  }

  .af1-advisor-debug-panel {
    right: 10px;
    left: 10px;
    bottom: 88px;
    width: auto;
    max-height: 220px;
  }

  .af1-advisor-lead-form {
    grid-template-columns: 1fr;
  }
}

/* Lade-Indikator am Launcher waehrend Hintergrund-Fetch (Panel noch zu). */
.af1-advisor-launcher-loading .af1-advisor-pulse {
  background: #60a5fa;
  animation: af1-advisor-pulse-loading 0.9s ease-in-out infinite;
}
@keyframes af1-advisor-pulse-loading {
  0%, 100% { box-shadow: 0 0 0 0 rgba(96, 165, 250, 0.7); transform: scale(1); }
  50% { box-shadow: 0 0 0 12px rgba(96, 165, 250, 0); transform: scale(1.15); }
}

/* Erinnerungs-Pulse nach dem Schliessen — verstaerkter Pulse + leichtes Bobben. */
.af1-advisor-launcher-reminder {
  animation: af1-advisor-bob 1.2s ease-in-out 4;
}
.af1-advisor-launcher-reminder .af1-advisor-pulse {
  width: 18px;
  height: 18px;
  background: #fbbf24;
  animation: af1-advisor-pulse-strong 1.3s ease-out infinite;
}
@keyframes af1-advisor-pulse-strong {
  0% { box-shadow: 0 0 0 0 rgba(250, 204, 21, 0.9); }
  70% { box-shadow: 0 0 0 22px rgba(250, 204, 21, 0); }
  100% { box-shadow: 0 0 0 0 rgba(250, 204, 21, 0); }
}

/* Wenn das Panel offen ist: aus dem Pulse-Punkt wird ein rotes Close-Badge oben
   rechts am Launcher — der Launcher selbst bleibt klickbar und schliesst. */
.af1-advisor-launcher[aria-expanded="true"] .af1-advisor-pulse {
  animation: none;
  background: #ef4444;
  width: 24px;
  height: 24px;
  inset: -8px -8px auto auto;
  box-shadow: 0 3px 10px rgba(17, 24, 39, 0.35), 0 0 0 2px #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.af1-advisor-launcher[aria-expanded="true"] .af1-advisor-pulse::after {
  content: '×';
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  font-family: -apple-system, "Segoe UI", system-ui, sans-serif;
  position: relative;
  top: -1px;
}
.af1-advisor-launcher[aria-expanded="true"] {
  cursor: pointer;
}
