@font-face {
  font-family: "Porsche Next";
  src: url(./fonts/PorscheNextWLa-Regular.woff) format("woff");
  font-display: block;
}

@font-face {
  font-family: "Porsche Next";
  src: url(./fonts/PorscheNextWLa-Bold.woff2) format("woff2");
  font-display: block;
  font-weight: 700;
}

:root {
  /*** Fonts ***/
  --system-typography-font-family: "Porsche Next";
  --hl-font-family: "Porsche Next";
  --button-font-family: "Porsche Next";

  font-family: var(--system-typography-font-family);

  /*** COLOR CARD ***/
  --cc-background-color: #ffffff;
  --cc-background-tint1-color: #f5f5f5;
  --cc-background-tint2-color: #dad9de;
  --cc-background-tint3-color: #b5b4ba;
  --cc-placeholder-color: #737278;
  --cc-text-color: #000000;
  --cc-text-tint1-color: #000000;
  --cc-text-tint2-color: #403f45;
  --cc-primary-color: #000000;
  --cc-hover-color: #535457;

  --cc-success-color: #09d087;
  --cc-success-background-color: #dae4dd;
  --cc-info-color: #178bff;
  --cc-info-background-color: #daecff;
  --cc-warning-color: #f7cb47;
  --cc-warning-background-color: #fffbe7;
  --cc-error-color: #fc4040;
  --cc-error-background-color: #ffd6d9;

  --custom-card-border-radius: 12px;

  /*** THEME ***/
  --theme-html-background: var(--cc-background-color);
  --theme-page-background-color: var(--cc-background-color);

  /*** CONTROLS ***/

  /* Button */
  --button-ext-filled-border-radius: 4px;
  --button-ext-filled-border: 1px solid var(--cc-primary-color);
  --button-ext-filled-color: var(--cc-background-color);
  --button-ext-filled-background-color: var(--cc-primary-color);
  --button-ext-filled-background-color-hover: var(--cc-hover-color);
  --button-ext-filled-background-color-active: var(--cc-hover-color);
  --button-ext-filled-font-weight: 400;

  --button-ext-filled-inverted-border: 1px solid var(--cc-background-color);
  --button-ext-filled-inverted-color: var(--cc-primary-color);
  --button-ext-filled-inverted-background-color: var(--cc-background-color);
  --button-ext-filled-inverted-background-color-hover: var(--cc-background-tint2-color);
  --button-ext-filled-inverted-background-color-active: var(--cc-background-tint2-color);

  --button-ext-outlined-border-radius: 4px;
  --button-ext-outlined-border: 1px solid var(--cc-primary-color);
  --button-ext-outlined-color: var(--cc-primary-color);
  --button-ext-outlined-background-color: var(--cc-background-color);
  --button-ext-outlined-background-color-hover: var(--cc-background-tint2-color);
  --button-ext-outlined-background-color-active: var(--cc-background-tint2-color);
  --button-ext-outlined-font-weight: 400;

  --button-ext-outlined-inverted-border: 1px solid var(--cc-background-color);
  --button-ext-outlined-inverted-color: var(--cc-background-color);
  --button-ext-outlined-inverted-background-color: var(--cc-primary-color);
  --button-ext-outlined-inverted-background-color-hover: var(--cc-background-tint2-color);
  --button-ext-outlined-inverted-background-color-active: var(--cc-background-color);

  --button-ext-tonal-border-radius: 4px;
  --button-ext-tonal-border: 1px solid var(--cc-text-tint2-color);
  --button-ext-tonal-color: var(--cc-text-tint2-color);
  --button-ext-tonal-background-color: var(--cc-background-tint2-color);
  --button-ext-tonal-background-color-hover: var(--cc-background-tint2-color);
  --button-ext-tonal-background-color-active: var(--cc-background-tint2-color);
  --button-ext-tonal-font-weight: 400;

  /* Checkbox */
  --checkbox-background-color: var(--cc-background-tint2-color);
  --checkbox-background-color-checked: var(--cc-text-tint2-color);
  --checkbox-background-color-hover: var(--cc-background-tint1-color);
  --checkbox-checkmark-color: var(--cc-secondary-color);
  --checkbox-border: 1px solid var(--cc-text-tint1-color);
  --checkbox-border-radius: 0px 4px 0 4px;

  /* Divider */
  --divider-color: var(--cc-background-tint2-color);

  /* IconExt */
  --icon-ext-expand-transform: rotate(45deg);

  /* LinkExt */
  --link-ext-link-color: var(--cc-primary-color);
  --link-ext-link-color-hover: var(--cc-hover-color);
  --link-ext-link-with-arrow-color: var(--cc-primary-color);
  --link-ext-link-with-icon-color: var(--cc-primary-color);

  /* Loader */
  --loader-embedded-background-color: var(--cc-secondary-color);

  /* Field Input */
  --field-input-placeholder-color: var(--cc-placeholder-color);
  --field-input-background-color: var(--cc-background-color);
  --field-input-outline-focus: 1px solid var(--cc-text-tint2-color);
  --field-input-border-top: 1px solid var(--cc-placeholder-color);
  --field-input-border-left: 1px solid var(--cc-placeholder-color);
  --field-input-border-right: 1px solid var(--cc-placeholder-color);
  --field-input-border-bottom: 1px solid var(--cc-placeholder-color);
  --field-input-border-radius: 4px;
  --field-input-border-color-focus: var(--cc-text-color);
  --field-input-border-color-active: var(--cc-text-color);
  --field-input-label-color-focus: var(--cc-primary-color);
  --field-input-error-color: var(--cc-error-color);

  /* Field Select */
  --field-select-option-color: var(--cc-primary-color);
  --field-select-option-background-color: var(--cc-background-tint2-color);
  --field-select-dropdown-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Ctitle%3Edown-arrow%3C/title%3E%3Cg fill='%23000000'%3E%3Cpath d='M10.293,3.293,6,7.586,1.707,3.293A1,1,0,0,0,.293,4.707l5,5a1,1,0,0,0,1.414,0l5-5a1,1,0,1,0-1.414-1.414Z' fill='%23000000'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");

  /* Modal */
  --modal-border-radius: 4px 4px 0 0;

  --modal-header-color: var(--cc-text-color);
  --modal-header-background-color: var(--cc-background-tint1-color);
  --modal-header-border: 1px solid var(--cc-background-tint1-color);
  --modal-color: var(--cc-text-color);
  --modal-background-color: var(--cc-background-tint2-color);

  --modal-header-error-color: var(--cc-text-color);
  --modal-header-error-background-color: var(--cc-error-background-color);
  --modal-header-error-border: 1px solid var(--cc-error-color);
  --modal-error-color: var(--cc-text-color);
  --modal-error-background-color: var(--cc-background-tint2-color);

  --modal-header-warning-color: var(--cc-text-color);
  --modal-header-warning-background-color: var(--cc-warning-background-color);
  --modal-header-warning-border: 1px solid var(--cc-warning-color);
  --modal-warning-color: var(--cc-text-color);
  --modal-warning-background-color: var(--cc-background-tint2-color);

  --modal-header-info-color: var(--cc-text-color);
  --modal-header-info-background-color: var(--cc-info-background-color);
  --modal-header-info-border: 1px solid var(--cc-info-color);
  --modal-info-color: var(--cc-text-color);
  --modal-info-background-color: var(--cc-background-tint2-color);

  --modal-header-success-color: var(--cc-text-color);
  --modal-header-success-background-color: var(--cc-success-background-color);
  --modal-header-success-border: 1px solid var(--cc-success-color);
  --modal-success-color: var(--cc-text-color);
  --modal-success-background-color: var(--cc-background-tint2-color);

  /* Popover */
  --tooltip-background-color: var(--cc-text-tint2-color);

  /* Swipable Slides */
  --swipable-slides-navigation-icon-background-color: var(--cc-primary-color);
  --swipable-slides-navigation-icon-background-color-hover: var(--cc-background-tint1-color);

  /* Tabs */
  --tab-header-color: var(--cc-text-color);
  --tab-header-color-active: var(--cc-text-color);
  --tab-header-background-color: var(--cc-background-tint2-color);
  --tab-header-background-color-active: var(--cc-background-tint1-color);
  --tab-header-expand-icon-transform: rotate(-45deg);
  --tab-header-border-radius: var(--custom-card-border-radius);
  --tab-content-color: var(--cc-text-color);
  --tab-content-background-color: var(--cc-background-tint1-color);

  /*** BLOCKS ***/

  /* Accordion */
  --accordion-block-border: 1px solid var(--cc-background-tint2-color);
  --accordion-block-expand-icon-transform: rotate(45deg);
  --accordion-block-border-radius: 0px;
  --accordion-block-gap: 0;
  --accordion-block-header-background-color: var(--cc-background-tint1-color);
  --accordion-block-open-header-background-color: var(--cc-background-color);
  --accordion-block-open-content-background-color: var(--cc-background-color);

  /* Article Teaser Block */
  --article-teaser-block-background-color: var(--cc-background-color);
  --article-teaser-block-border: 1px solid var(--cc-background-tint1-color);
  --article-teaser-block-border-radius: var(--custom-card-border-radius);

  /* Banner top */
  --banner-top-background-color: var(--cc-primary-color);
  --banner-top-text-color: var(--cc-background-color);

  /* BreadCrumbs */
  --breadcrumbs-background-color: var(--cc-background-tint1-color);
  --breadcrumbs-link-separator-color: var(--cc-primary-color);

  /* Card Information Block */
  --card-information-block-header-color: var(--cc-background-color);
  --card-information-block-header-background-color: var(--cc-primary-color);
  --card-information-block-content-color: var(--cc-text-tint2-color);
  --card-information-block-content-background-color: var(--cc-background-color);
  --card-information-block-border: 1px solid var(--cc-background-tint2-color);
  --card-information-block-border-radius: var(--custom-card-border-radius);

  /* Fact And Icon Block */
  --fact-and-icon-block-background-color: var(--cc-background-color);
  --fact-and-icon-block-icon-background-color: var(--cc-background-color);
  --fact-and-icon-border: 1px solid var(--cc-background-tint3-color);
  --fact-and-icon-block-border-radius: var(--custom-card-border-radius);

  /* Footer */
  --footer-background-color: var(--cc-primary-color);
  --footer-color: var(--cc-background-tint2-color);
  --footer-link-color-hover: var(--cc-background-tint2-color);
  --footer-divider-color: var(--cc-hover-color);
  --footer-links-block-divider-color: var(--cc-hover-color);

  /* GDPR Link Area */
  --gdpr-link-decoration: underline;

  /* Header */
  --header-color: var(--cc-text-tint1-color);
  --header-background-color: var(--cc-background-color);
  --header-navigation-color-active: var(--cc-text-tint1-color);
  --header-login-background: var(--cc-background-color);
  --header-login-background-hover: var(--cc-text-color);
  --header-bottom-border: 1px solid var(--cc-background-tint2-color);
  --header-sitelinks-color: var(--cc-text-tint1-color);
  --header-sitelinks-color-active: var(--cc-text-tint1-color);

  /* Hero block */
  --hero-headline-wrap-background-color: var(--cc-text-tint2-color);
  --hero-headline-wrap-color: var(--cc-background-color);
  --hero-headline-li-icon: url("data:image/svg+xml;utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M6.35547%2010.1949L11.2901%2015.1279L21.9999%204.41974%22%20stroke%3D%22%23FFFFFF%22%20stroke-miterlimit%3D%2210%22%2F%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M19.1028%204.96822C18.8882%204.75206%2018.664%204.54396%2018.4317%204.34715C16.6927%202.8824%2014.4472%202%2011.9952%202C6.47493%202%202%206.47491%202%2011.9935C2%2017.5122%206.47493%2021.9871%2011.9952%2021.9871C17.5154%2021.9871%2021.9903%2017.5122%2021.9903%2011.9935C21.9903%2010.9627%2021.8339%209.96741%2021.5435%209.03178C21.3967%208.56074%2021.2176%208.1026%2021.0063%207.66382%22%20stroke%3D%22%23FFFFFF%22%20stroke-miterlimit%3D%2210%22%2F%3E%0A%20%20%20%20%20%20%3C%2Fsvg%3E")
    no-repeat 0 2px;

  /* Large USP Teaser Block */
  --large-usp-teaser-block-background: var(--cc-background-color);
  --large-usp-teaser-block-image-border-radius: var(--custom-card-border-radius);

  /* Navigation */
  --navigation-popup-background-color: var(--cc-background-color);
  --navigation-popup-color: var(--cc-text-tint1-color);
  --navigation-block-mobile-item-border-bottom: 1px solid var(--cc-background-tint2-color);

  /* Search */
  --search-page-prompt-background: var(--cc-background-tint2-color);

  /* Small Teaser Article Container Block */
  --small-teaser-article-container-block-band-color: var(--cc-background-tint2-color);

  /* Teaser-full-page-block */
  --teaser-full-page-block-content-wrap-background-color: var(--cc-background-color);
  --teaser-full-page-block-content-wrap-header-font-weight: 400;
  --teaser-full-page-block-content-wrap-link-font-weight: 400;
  --teaser-full-page-block-border: none;
  --teaser-full-page-block-image-border-radius: var(--custom-card-border-radius);

  /* Text block */
  --text-block-border: 1px solid var(--cc-background-tint2-color);
  --text-block-border-radius: 0px;
  --text-block-image-border-radius: var(--custom-card-border-radius);
  --text-block-error-color: var(--cc-text-color);
  --text-block-error-background-color: var(--cc-error-background-color);
  --text-block-warning-color: var(--cc-text-color);
  --text-block-warning-background-color: var(--cc-warning-background-color);
  --text-block-info-color: var(--cc-text-color);
  --text-block-info-background-color: var(--cc-info-background-color);
  --text-block-success-color: var(--cc-text-color);
  --text-block-success-background-color: var(--cc-success-background-color);
  --text-block-variation1-color: var(--cc-background-color);
  --text-block-variation1-background-color: var(--cc-text-tint1-color);
  --text-block-variation2-color: var(--cc-background-color);
  --text-block-variation2-background-color: var(--cc-text-tint1-color);
  --text-block-table-headline-background-color: var(--cc-background-tint1-color);
  --text-block-table-body-background-color: var(--cc-background-color);
  --text-block-table-odd-colored-background-color: var(--cc-background-tint1-color);
  --text-block-li-icon: url("data:image/svg+xml;utf8,%3Csvg%0A%20%20%20%20%20%20%20%20width%3D%2224%22%0A%20%20%20%20%20%20%20%20height%3D%2224%22%0A%20%20%20%20%20%20%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20%20%20%20%20%20%20fill%3D%22none%22%0A%20%20%20%20%20%20%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20%20%20%20%20%3E%0A%20%20%20%20%20%20%20%20%3Cg%20id%3D%22Check%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cpath%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22Vector%22%0A%20%20%20%20%20%20%20%20%20%20%20%20d%3D%22M17.8482%208.85887L18.2125%208.5054L17.8536%208.14645L17.3536%207.64645L17.0057%207.29864L16.6523%207.6407L10.8057%2013.2986L8.35355%2010.8464L8%2010.4929L7.64645%2010.8464L7.14645%2011.3464L6.79289%2011.7L7.14645%2012.0536L10.4464%2015.3536L10.7947%2015.7018L11.1482%2015.3589L17.8482%208.85887ZM20.5%2011.5C20.5%2015.9239%2016.9239%2019.5%2012.5%2019.5C8.07614%2019.5%204.5%2015.9239%204.5%2011.5C4.5%207.07614%208.07614%203.5%2012.5%203.5C16.9239%203.5%2020.5%207.07614%2020.5%2011.5Z%22%0A%20%20%20%20%20%20%20%20%20%20%20%20fill%3D%22black%22%0A%20%20%20%20%20%20%20%20%20%20%20%20stroke%3D%22black%22%0A%20%20%20%20%20%20%20%20%20%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%3C%2Fsvg%3E%0A%20%20%20%20%20%20")
    no-repeat 0 2px;

  /* USP Container */
  --usp-container-block-background: var(--cc-text-tint1-color);
  --usp-block-title-color: var(--cc-primary-color);
  --usp-block-text-color: var(--cc-primary-color);

  /* Webshop Entry Block */
  --webshop-entry-block-background: var(--cc-background-color);
  --webshop-entry-block-header-color: var(--cc-text-tint1-color);
  --webshop-entry-block-inverted-background: var(--cc-text-tint2-color);
  --webshop-entry-block-inverted-color: var(--cc-background-color);
}

/* Custom styling */
h2.hl:not(.footer .hl):not(.card-information-block .hl):not(.accordion-block .hl):not(.webshop-entry-block .hl),
.text-area :is(h2) {
  font-weight: 400;
}

.link-ext.linkWithArrow:not(.new-tab-link) {
  flex-direction: row-reverse;
  justify-content: flex-end !important;
  font-weight: 400 !important;
  > .arrow {
    width: 20px;
    height: 20px;
  }
}

.coverage-table > details.coverage-accordion-block {
  &[open] {
    > summary.accordion-title > .icon-ext > svg {
      transform: rotate(-180deg) !important;
    }
  }
}

/* TODO: extract to css variables */
.navigation-and-login-block-wrapper {
  .navigation-items > button,
  .login a,
  .search-box button {
    &:hover {
      color: var(--cc-text-color);
      text-decoration: none;
    }
  }
}

.footer .link-ext {
  text-decoration: none;
}

/* Porsche font bug needs this to prevent scroll to appear */
.text-area {
  padding-bottom: 1px;
}

.breadcrumbs {
  .icon-ext {
    width: 12px;
    height: auto;
  }
}

.navigation-block-mobile {
  .navigation-item-main,
  .navigation-item-last {
    &.active {
      background: var(--cc-background-tint2-color);
    }
  }

  .navigation-body details.navigation-item summary .openNode > .icon-ext.expand {
    width: 20px;
    height: 20px;
  }
}
