/*
 * PaymentCard component styles
 * This file provides styling for the PaymentCard component, including general design tokens
 * and variations for different card types (e.g., default, pluss, gold, etc.).
 */
/*
 * Utilities
 */
/*
 * CSS Properties Sbanken
 *
 */
:root {
  --sb-font-family-default: 'Roboto', 'Helvetica', 'Arial', sans-serif;
  --sb-font-family-heading: 'MaisonNeueHeadings', 'Roboto', 'Helvetica',
    'Arial', sans-serif;
  --sb-font-weight-default: normal;
  --sb-font-weight-basis: normal;
  --sb-font-weight-regular: normal;
  --sb-font-weight-medium: 500;
  --sb-font-weight-bold: 700;
  --sb-font-size-x-small: 0.75rem;
  --sb-font-size-small: 0.875rem;
  --sb-font-size-basis: 1rem;
  --sb-font-size-basis--em: 1em;
  --sb-font-size-lead: var(--font-size-medium);
  --sb-font-size-medium: 1.25rem;
  --sb-font-size-medium--plus: 1.625rem;
  --sb-font-size-large: 2rem;
  --sb-font-size-x-large: 2.375rem;
  --sb-font-size-xx-large: 3rem;
  --sb-line-height-x-small: 1.125rem;
  --sb-line-height-small: 1.25rem;
  --sb-line-height-basis: 1.5rem;
  --sb-line-height-basis--em: 1.5em;
  --sb-line-height-lead: 1.75rem;
  --sb-line-height-medium: 2rem;
  --sb-line-height-large: 2.375rem;
  --sb-line-height-x-large: 2.75rem;
  --sb-line-height-xx-large: 3.375rem;
  --sb-color-black: #000;
  --sb-color-text: #18172a;
  --sb-color-gray-dark-3: #3a3a4a;
  --sb-color-gray-dark-3-neutral: #3e3e4a;
  --sb-color-gray-dark-2: #4a4a5b;
  --sb-color-gray-dark-2-neutral: #656472;
  --sb-color-gray-dark: #666578;
  --sb-color-gray-dark-neutral: #9494a3;
  --sb-color-gray: #bbbbce;
  --sb-color-gray-neutral: #bdbdc6;
  --sb-color-gray-light: #d9d9e4;
  --sb-color-gray-light-2: #ebebf2;
  --sb-color-gray-light-3: #f9f9fd;
  --sb-color-purple: #1c1b4e;
  --sb-color-purple-alternative: #222163;
  --sb-color-green: #92eecd;
  --sb-color-white: #fff;
  --sb-color-red: #d8134b;
  --sb-color-magenta: #ff3c64;
  --sb-color-orange: #ff5b44;
  --sb-color-yellow-dark: #f7bf16;
  --sb-color-yellow: #ffef57;
  --sb-color-green-dark-3: #00785b;
  --sb-color-green-dark-2: #1e9f73;
  --sb-color-violet: #4e08bc;
  --sb-color-violet-light: #7129e2;
  --sb-color-blue-dark-2: #044ccc;
  --sb-color-blue-dark: #005cff;
  --sb-color-blue: #008eff;
  --sb-color-orange-light: #ff817b;
  --sb-color-orange-light-2: #ffd7d5;
  --sb-color-orange-light-3: #fff0ef;
  --sb-color-magenta-light: #ffb6d2;
  --sb-color-magenta-light-2: #ffdbe9;
  --sb-color-magenta-light-3: #fff5f9;
  --sb-color-yellow-light: #fff489;
  --sb-color-yellow-light-2: #fff9c4;
  --sb-color-yellow-light-3: #fffce5;
  --sb-color-green-dark: #64d7b4;
  --sb-color-green-light: #c8f6e5;
  --sb-color-green-light-2: #e5fff7;
  --sb-color-violet-light-2: #be99ff;
  --sb-color-violet-light-3: #e0d0ff;
  --sb-color-violet-light-4: #f1ebff;
  --sb-color-blue-light: #61b9ff;
  --sb-color-blue-light-2: #bfe3ff;
  --sb-color-blue-light-3: #ebf6ff;
  --sb-spacing-x-small: 0.5rem;
  --sb-spacing-small: 1rem;
  --sb-spacing-medium: 1.5rem;
  --sb-spacing-large: 2rem;
  --sb-spacing-x-large: 3rem;
  --sb-spacing-xx-large: 3.5rem;
  --sb-layout-small: 40em;
  --sb-layout-medium: 60em;
  --sb-layout-large: 72em;
  --sb-layout-x-large: 80em;
  --sb-layout-xx-large: 90em;
  --sb-shadow-small: 0 2px 4px rgba(38 35 66 / 12%);
  --sb-shadow-medium: 0 5px 20px rgba(38 35 66 / 10%);
  --sb-shadow-large: 0 5px 20px rgba(38 35 66 / 20%);
  --sb-shadow-hover: 0 20px 40px rgba(38 35 66 / 20%);
  --sb-easing-default: cubic-bezier(0.42, 0, 0, 1);
  --prose-max-width: 60ch;
}

.dnb-payment-card {
  /*
   * Define custom CSS variables used throughout the PaymentCard component.
   * These variables allow for reusable colors, border-radius, and overlay background transitions.
   */
  --color-dark-cyan: #003b47;
  --dnb-payment-bg-default: var(--color-sea-green);
  --dnb-payment-bg-pluss: var(--color-ocean-green);
  --dnb-payment-bg-white: var(--color-white);
  --dnb-payment-bg-gold: #d8c583;
  --dnb-payment-bg-black-gold: #1f1b10;
  --dnb-payment-bg-black-grey: #1c1c1e;
  --dnb-payment-overlay-bg-dark: rgba(0 0 0 / 60%);
  --dnb-payment-overlay-bg-light: rgba(255 255 255 / 70%);
  --dnb-payment-border-radius: 12px;
  margin: 0;
  border-radius: var(--dnb-payment-border-radius);
  /*
   * Base styles for the card element including size, padding, color, and shadow.
   * This serves as the core design for all PaymentCard variations.
   */
}
.dnb-payment-card__card {
  width: 100%;
  height: 100%;
  padding: 16px;
  border-radius: inherit;
  color: var(--color-white);
  box-shadow: var(--shadow-default);
  transition: all 225ms cubic-bezier(0, 0, 0.2, 1) 0ms;
  -webkit-user-select: none;
          user-select: none;
}
.dnb-payment-card__card__wrapper {
  position: relative;
  width: 343px;
  height: 216px;
  border-radius: inherit;
  border: 1px solid var(--color-black-8);
}
.dnb-payment-card__card__wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
}
.dnb-payment-card__card--blocked {
  opacity: 0.5;
}
.dnb-payment-card__card {
  /*
   * Design variations for different card types.
   * Each modifier represents a unique card style and contains
   * specific background and text color configurations.
   */
}
.dnb-payment-card__card--design-default {
  background-color: var(--dnb-payment-bg-default);
  color: var(--color-white);
}
.dnb-payment-card__card--design-pluss {
  background-color: var(--dnb-payment-bg-pluss);
  color: var(--color-white);
}
.dnb-payment-card__card--design-ung, .dnb-payment-card__card--design-youth, .dnb-payment-card__card--design-my-first {
  background-color: var(--dnb-payment-bg-white);
  color: var(--color-black);
}
.dnb-payment-card__card--design-gold {
  background-color: var(--dnb-payment-bg-gold);
  color: var(--color-black);
}
.dnb-payment-card__card--design-saga {
  background-color: var(--dnb-payment-bg-black-gold);
  color: var(--color-white);
}
.dnb-payment-card__card--design-saga .provider--separator {
  color: var(--dnb-payment-bg-gold);
}
.dnb-payment-card__card--design-saga-platinum, .dnb-payment-card__card--design-private {
  background-color: var(--dnb-payment-bg-black-grey);
  color: var(--color-white);
}
.dnb-payment-card__card--design-black {
  background-color: var(--color-black);
  color: var(--color-white);
}
.dnb-payment-card__card--design-business-no-visa {
  background-color: var(--dnb-payment-bg-business-no-visa);
  color: var(--color-white);
}
.dnb-payment-card__card--design-business-with-visa {
  background-color: var(--dnb-payment-bg-business-with-visa);
  color: var(--color-white);
}
.dnb-payment-card__card--design-sbanken-mastercard {
  background-color: var(--sb-color-purple);
  color: var(--color-white);
}
.dnb-payment-card__card--design-sbanken-visa {
  background-color: var(--color-white);
  color: var(--sb-color-text);
}
.dnb-payment-card__card {
  /*
   * Primary container for card content (e.g., numbers, text, holder name).
   * Ensures content stretches to fit the card while preserving relative positioning.
   */
}
.dnb-payment-card__card__content {
  display: flex;
  height: 100%;
  width: 100%;
  position: relative;
}
.dnb-spacing .dnb-payment-card__card .dnb-p {
  margin-bottom: 0 !important;
}
.dnb-payment-card__card__numbers.dnb-p {
  font-size: 1.375rem;
  line-height: 1.143rem;
  font-weight: var(--font-weight-regular);
}
.dnb-payment-card__card__type-text.dnb-p {
  font-size: 0.938rem;
  line-height: 1.188rem;
  padding-top: 6px;
}
.dnb-payment-card__card {
  /* Provider Icons Container
   * Flex container to house provider logos (e.g., Visa, Mastercard, BankAxept).
   * Includes a visual separator if two providers are present. */
}
.dnb-payment-card__card__providers {
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
.dnb-payment-card__card__providers .provider--separator {
  width: 1px;
  height: 26px;
  background-color: currentcolor;
  transform: scale(0.5, 1);
}
.dnb-payment-card__card__top__left {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
}
.dnb-payment-card__card__top {
  /*
   * Normal mode: Card Type Text (Credit / Debit)
   * Compact mode: Provider Icons
   */
}
.dnb-payment-card__card__top__right {
  position: absolute;
  top: 0;
  right: 0;
}
.dnb-payment-card__card__bottom {
  /*
   * Normal mode: Card Number
   * Compact mode: Hidden
   */
}
.dnb-payment-card__card__bottom__left {
  position: absolute;
  bottom: 0;
  left: 0;
}
.dnb-payment-card__card__bottom {
  /*
   * Normal mode: Provider Icons
   * Compact mode: Hidden
   */
}
.dnb-payment-card__card__bottom__right {
  position: absolute;
  bottom: 0;
  right: 0;
}
.dnb-payment-card {
  /*
   * Overlay styling used for additional content or status displayed over the card element.
   * It centers the content and adapts the overlay design
   * based on the card's background theme (light or dark).
   */
}
.dnb-payment-card__overlay svg {
  width: 2rem;
  height: 2rem;
  shape-rendering: geometricprecision;
}
.dnb-payment-card__overlay svg.icon--fill path {
  fill: currentcolor;
}
.dnb-payment-card__overlay svg.icon--stroke path {
  stroke: currentcolor;
}
.dnb-payment-card__overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
}
.dnb-payment-card__overlay__content {
  min-width: 6rem;
  height: 6rem;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.667rem;
  border-radius: inherit;
  font-size: var(--font-size-basis);
  line-height: var(--line-height-small);
}
.dnb-payment-card__overlay__content--light {
  background-color: var(--dnb-payment-overlay-bg-dark);
  color: var(--color-white);
}
.dnb-payment-card__overlay__content--dark {
  background-color: var(--dnb-payment-overlay-bg-light);
  color: var(--color-black);
}
.dnb-payment-card {
  /* Compact mode styling for PaymentCard component
   * This defines the styles and visual appearance of the card in its compact variant.
   * The compact variant is designed to be more concise, with reduced height and adjusted layouts.
   */
}
.dnb-payment-card--compact .dnb-payment-card__card {
  height: 62px;
  border-radius: var(--dnb-payment-border-radius) var(--dnb-payment-border-radius) 0 0;
}
.dnb-payment-card--compact .dnb-payment-card__card__wrapper {
  height: auto;
}
.dnb-payment-card--compact .dnb-payment-card__card__providers {
  margin-top: 5px;
  height: 1.375rem;
}
.dnb-payment-card--compact .dnb-payment-card__card__providers div,
.dnb-payment-card--compact .dnb-payment-card__card__providers svg {
  height: 100%;
  width: auto;
}
.dnb-payment-card--compact .dnb-payment-card__card__providers--multiple {
  margin-top: 7px;
  height: 1rem;
  column-gap: 0.5rem;
}
.dnb-payment-card--compact .dnb-payment-card__card__providers--multiple div,
.dnb-payment-card--compact .dnb-payment-card__card__providers--multiple svg {
  vertical-align: top;
}
.dnb-payment-card--compact .dnb-payment-card__card__providers--multiple .provider--separator {
  width: 1px;
}
.dnb-payment-card--compact .dnb-payment-card__overlay__content {
  display: none;
}