/* ==========================================================================
   CUPRA Augsburg – minimal CSS (only selectors used by index.html)
   ========================================================================== */

/* Base */
html,
body {
  width: 100%;
  margin: 0;
  padding: 0;

  color: #222;
  background-color: #15191D;
  background-size: cover;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;

  backface-visibility: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

::selection,
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

/* Typography reset */
p,
h1,
h2,
h3,
h4 {
  margin: 0;
  padding: 0;
}

a { color: #fff; }
img { max-width: 100%; }

/* Fonts */
@font-face {
  font-family: "CupraMedium";
  src: url("fonts/Cupra-Medium.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "CupraRegular";
  src: url("fonts/Cupra-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "CupraBold";
  src: url("fonts/Cupra-Bold.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "CupraLight";
  src: url("fonts/Cupra-Light.eot");
  src: url("fonts/Cupra-Light.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

/* Headline helpers */
.headline1 {
  font-family: "CupraBold", sans-serif;
  font-size: 63px;
  line-height: 63px;
  font-weight: 400;
  text-transform: uppercase;
}

.headline2 {
  font-family: "CupraRegular", sans-serif;
  font-size: 42px;
  line-height: 42px;
  font-weight: 400;
  text-transform: uppercase;
}

/* Color helpers */
.white { color: #fff; }
.black { color: #000; }

/* Utility */
.clear { clear: both; }
.padding_top10 { padding-top: 10px; }
.padding_top20 { padding-top: 20px !important; }

/* Layout */
.content_wrapper { width: 100%; }

.content {
  width: 1500px;
  margin: 0 auto;
}

/* Navigation / Intro */
.nav_bar {
  position: absolute;
  z-index: 10;
  padding: 40px 0; /*
  background: rgba(0, 0, 0, 0.2); */
}

.nav_logo img {
  height: 30px;
  width: auto;
}

.intro { padding-top: 110px; }

.overview_intro_text {
  text-align: center;
  padding: 100px 0 70px;
}

.overview_intro_text h1 { margin-top: 10px; }
.overview_intro_text p { margin-top: 20px; }

/* Dealer overview */
.dealer { padding-bottom: 90px; }

.dealer_wrapper {
  width: 100%;
  text-align: center;
  padding-bottom: 50px;
}

/* Dealer box (Small) */
.dealer_box_small {
  display: inline-block;
  text-align: left;
  margin: 30px 50px;
  padding: 0 0 30px;

  border-radius: 8px;
  background: url(../img/dealer_box_bg_small.png) no-repeat bottom center;
  background-size: 100% auto;

  width: calc(33% - 100px);
}

.dealer_box_small_inner {
  display: flex;
  flex-direction: column;
}

.dealer_box_small_hl {
  order: 2;
  width: 80%;
  padding: 30px 10% 0;
  text-align: left;
}

.dealer_box_small_hl h3 {
  font-family: "CupraBold", sans-serif;
  font-size: 26px;
  line-height: 32px;
  font-weight: 400;
}

.dealer_box_small_hl h3 span {
  display: block;
  font-family: "CupraLight", sans-serif;
  font-size: 20px;
  font-weight: 400;
}

.dealer_box_small_img { order: 1; position: relative; }

.dealer_box_small_img img { width: 100%; height: auto;     border-top-right-radius: 10px;
    border-top-left-radius: 10px;}


.dealer_box_small_infos {
  order: 3;
  width: 100%;
  padding: 30px 10% 0;
}

.dealer_box_small_infos_l {
  float: left;
  width: 16px;
  text-align: center;
  padding-top: 2px;
}

.dealer_box_small_infos_r {
  float: left;
  width: calc(100% - 32px);
  padding-left: 16px;
}

.dealer_box_small_infos_r,
.dealer_box_small_infos_r a {
  display: block;
  font-family: "CupraRegular", sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  text-decoration: none;
  vertical-align: middle;
}

.street,
.city { display: block; }

/* Opening hours popup */
.opening_hours_parent { position: relative; }

.opening_hours_popup {
  position: absolute;
  bottom: 25px;
  left: -16px;

  display: none;
  width: calc(90% + 16px);
  padding: 20px 5%;

  border-radius: 8px;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);

  font-family: "CupraRegular", sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: #242424;
  text-decoration: none;
}

.opening_hours_popup a {
  text-align: right;
  font-size: 24px;
}

.opening_hours_popup h3 {
  margin-bottom: 10px;
  font-family: "CupraMedium", sans-serif;
}

.opening_hours_popup ul {
  margin-top: 5px;
  padding-left: 25px;
}

/* Button */
/* Replace the existing .dealer_box_small_button (+ its ::after rules) with this */

.dealer_box_small_button {
  display: inline-block;
  text-align: center;
  text-decoration: none;

  /* sizing / placement */
  width: auto;
  padding: 14px 28px;
  margin: 30px auto 0 auto;

  /* look */
  background: #e6e6e6;
  color: #111;

  font-family: "CupraBold", sans-serif;
  font-size: 15px;
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.06em;

  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 6px;

  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.dealer_box_small_button:hover,
.dealer_box_small_button:focus-visible {
  background: #f2f2f2;
  border-color: rgba(0, 0, 0, 0.22);
}

/* Disable the old skew addon */
.dealer_box_small_button::after {
  content: none;
}

.dealer_box_small_button:hover {
  background: #fff;
  color: #0b1621;
}

.dealer_box_small_button:hover::after { background: #fff; }

/* Footer */
.footer {
  padding: 50px 0;
}

.footer_inner {
  display: flex;
  flex-direction: row;
}

.footer_logo { width: 50%; }

.footer_logo img { width: 180px; height: auto; }

.footer_logo p {
  margin-top: 20px;
  font-family: "CupraRegular", sans-serif;
  font-size: 15px;
  line-height: 15px;
  font-weight: 400;
}

.footer_links {
  width: 50%;
  text-align: right;
  padding-top: 24px;
}

.footer_links a {
  margin-left: 20px;
  font-family: "CupraBold", sans-serif;
  font-size: 15px;
  line-height: 15px;
  font-weight: 400;
  text-decoration: none;
}

/* Responsive */
@media screen and (max-width: 1540px) {
  .content {
    width: 90%;
    margin: 0 auto;
  }

  .dealer_box_small {
    width: calc(33% - 60px);
    margin: 30px;
    padding: 20px 0 30px;
  }

  .dealer_box_small_hl h3 {
    font-size: 22px;
    line-height: 26px;
  }

  .dealer_box_small_hl h3 span { font-size: 16px; }
}

@media screen and (max-width: 1140px) {
  .dealer_box_small {
    width: calc(50% - 60px);
    margin: 30px;
    padding: 20px 0 30px;
  }
}

@media screen and (max-width: 800px) {
  .dealer_box_small {
    width: 80%;
    max-width: 440px;
    margin: 30px;
    padding: 20px 0 30px;
  }
}

@media screen and (max-width: 640px) {
  .content { width: 80%; }

  .headline1 {
    font-size: 36px;
    line-height: 44px;
  }

  .headline2 {
    font-size: 26px;
    line-height: 32px;
    padding-top: 0;
  }

  .nav_bar { padding: 30px 0; }
  .nav_logo img { height: 25px; }

  .overview_intro_text {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .dealer_inner {
    width: 100%;
    padding: 0;
  }

  .dealer_box_small {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 0 70px;
    border-radius: 0;
    background: transparent;
  }

  .dealer_box_small_hl {
    width: 80%;
    padding: 30px 10% 0;
    text-align: left;
  }

  .dealer_box_small_infos { padding: 30px 10% 0; }

  .dealer_box_small_hl h3 {
    font-size: 26px;
    line-height: 32px;
  }

  .dealer_box_small_hl h3 span { font-size: 20px; }

  .footer { padding: 30px 0 50px; }

  .footer_inner { flex-direction: column; }

  .footer_logo {
    width: 100%;
    text-align: center;
    padding-top: 50px;
  }

  .footer_logo img {
    width: 60%;
    max-width: 240px;
  }

  .footer_logo p {
    margin-top: 30px;
    font-size: 11px;
  }

  .footer_links {
    width: 100%;
    text-align: left;
    padding-top: 0;
  }

  .footer_links a {
    display: block;
    width: 90%;
    padding: 15px 5%;
    margin-left: 0;
    border-bottom: 1px solid #fff;

    font-family: "CupraRegular", sans-serif;
    font-size: 18px;
    line-height: 18px;
    font-weight: 400;
  }

  .intro { padding-top: 85px; }

  .dealer_info_row{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:10px 0;
}

.dealer_info_icon{
  flex:0 0 22px;          /* feste Icon-Spalte */
  width:22px;
  display:flex;
  justify-content:center;
  margin-top:2px;         /* feiner optischer Ausgleich */
}

.dealer_info_icon img,
.dealer_info_icon svg{
  width:18px;
  height:18px;
  display:block;
}

.dealer_info_content{
  flex:1;
  min-width:0;            /* verhindert Overflow bei langen Mails */
}

.opening_hours_accordion{ margin:0; }

.opening_hours_summary{
  cursor:pointer;
  user-select:none;
  list-style:none;
  padding:0;              /* wichtig: keine Einrückung */
  margin:0;

  font-family:"CupraBold", sans-serif;
  font-size:14px;
}

.opening_hours_summary::-webkit-details-marker{ display:none; }

.opening_hours_summary::after{
  content:"+";
  float:right;
  opacity:0.8;
}

.opening_hours_accordion[open] .opening_hours_summary::after{
  content:"–";
}

.opening_hours_content{
  padding:8px 0 0 0;      /* nur vertikal */
}


}
