body.single-product button,
body.single-product input[type="submit"] {
  appearance: none;
  border-radius: 10px;
  background-color: var(--bde-palette-color-1-1722d172-76b3-443f-9609-358ba28e86d9);
  color: var(--bde-body-text-color);
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  transition: all 0.4s ease;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
body.single-product button:hover,
body.single-product input[type="submit"]:hover {
  background-color: var(--bde-palette-color-1-941f2872-f2dd-45d2-9dbd-10986cf3f1dc);
  transform: scale(1.05);
}
body.single-product form input[type="text"],
body.single-product form textarea {
  appearance: none;
  padding: 20px;
  border-radius: 10px;
  background-color: var(--bde-palette-white-6b6b2f7b-8eeb-41ba-b3db-3ad31f6240c7-3);
  border: none;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  width: 100%;
}
body.single-product .product-details-section .product-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 768px) {
  body.single-product .product-details-section .product-info-grid {
    grid-template-columns: 1fr;
  }
}
body.single-product .address-list-section {
  margin-top: 50px;
  background-color: #c0cee1;
  padding: 50px 0;
  position: relative;
  z-index: 1;
}
body.single-product .address-list-section:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 200vw;
  z-index: -1;
  background-color: #c0cee1;
}
body.single-product .address-list-section .address-lists-container {
  max-width: 100%;
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 10px 0;
  padding-bottom: 40px;
}
body.single-product .address-list-section .address-lists-container .create-new-item {
  aspect-ratio: 1/1;
  width: 223px;
  border-radius: 10px;
  background-color: var(--bde-palette-white-6b6b2f7b-8eeb-41ba-b3db-3ad31f6240c7-3);
  padding: 20px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  text-decoration: none;
}
body.single-product .address-list-section .address-lists-container .create-new-item a {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
body.single-product .address-list-section .address-lists-container .create-new-item svg.plus {
  width: 60px;
  height: 60px;
  fill: var(--bde-palette-color-1-1722d172-76b3-443f-9609-358ba28e86d9);
}
body.single-product .address-list-section .address-lists-container .address-list-item input {
  display: none;
}
body.single-product .address-list-section .address-lists-container .address-list-item label {
  aspect-ratio: 5/4;
  width: 280px;
  border-radius: 10px;
  background-color: var(--bde-palette-white-6b6b2f7b-8eeb-41ba-b3db-3ad31f6240c7-3);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border: solid 2px transparent;
  transition: all 0.4s ease;
}
body.single-product .address-list-section .address-lists-container .address-list-item input:checked + label {
  border: solid 2px var(--bde-palette-color-1-1722d172-76b3-443f-9609-358ba28e86d9);
}
body.single-product .address-list-section .address-lists-container h5,
body.single-product .address-list-section .address-lists-container h6 {
  margin: 0;
  word-wrap: break-word;
}
body.single-product .address-list-preview-section {
  margin-bottom: 50px;
  background-color: #c0cee1;
  padding-bottom: 50px;
  position: relative;
  z-index: 1;
}
body.single-product .address-list-preview-section:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 200vw;
  z-index: -1;
  background-color: #c0cee1;
}
body.single-product .address-list-preview-section h5 {
  margin-top: 0;
}
body.single-product .address-list-preview-section .preview-loading {
  text-align: center;
  padding: 20px;
}
body.single-product .address-list-preview-section .preview-loading .container {
  --uib-size: 40px;
  --uib-color: black;
  --uib-speed: 2s;
  --uib-bg-opacity: 0;
  height: var(--uib-size);
  width: var(--uib-size);
  transform-origin: center;
  animation: rotate var(--uib-speed) linear infinite;
  will-change: transform;
  overflow: visible;
}
body.single-product .address-list-preview-section .preview-loading .car {
  fill: none;
  stroke: #95b4e6;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke-linecap: round;
  animation: stretch calc(var(--uib-speed) * 0.75) ease-in-out infinite;
  will-change: stroke-dasharray, stroke-dashoffset;
  transition: stroke 0.5s ease;
}
body.single-product .address-list-preview-section .preview-loading .track {
  fill: none;
  stroke: var(--uib-color);
  opacity: var(--uib-bg-opacity);
  transition: stroke 0.5s ease;
}
body.single-product .address-list-preview-section .preview-data-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  background-color: #f5f5f5;
}
body.single-product .address-list-preview-section .preview-data-table th,
body.single-product .address-list-preview-section .preview-data-table td {
  padding: 8px;
  border: 1px solid #ddd;
  text-align: left;
}
body.single-product .address-list-preview-section .preview-data-table th {
  background-color: #f5f5f5;
}
body.single-product .address-list-preview-section .preview-filename {
  font-weight: bold;
  margin-bottom: 10px;
}
body.single-product .message-tokens-container #message-tokens-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 50px;
}
body.single-product .message-tokens-container #message-tokens-list li {
  background-color: #c0cee1;
  padding: 10px;
  cursor: pointer;
  border-radius: 10px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  transition: all 0.4s ease;
}
body.single-product .message-tokens-container #message-tokens-list li.copied {
  background-color: #98e695 !important;
}
body.single-product .message-tokens-container #message-tokens-list li:hover {
  background-color: #95b4e6;
}
body.single-product .card-customization-section .form-fields-grid {
  display: grid;
  grid-template-columns: repeat(4, auto);
  grid-template-rows: repeat(5, auto);
  gap: 15px;
}
body.single-product .card-customization-section .greeting-field {
  grid-column: span 2 / span 2;
}
body.single-product .card-customization-section .message-field {
  grid-column: span 4 / span 4;
  grid-row: span 2 / span 2;
  grid-row-start: 2;
  display: flex;
  flex-direction: column;
}
body.single-product .card-customization-section .message-field textarea {
  flex-grow: 1;
}
body.single-product .card-customization-section .valediction-field {
  grid-column: span 2 / span 2;
  grid-column-start: 3;
  grid-row-start: 4;
}
body.single-product .card-customization-section .signature-field {
  grid-column: span 2 / span 2;
  grid-column-start: 3;
  grid-row-start: 5;
}
body.single-product .card-customization-section .extra-field {
  grid-column: span 2 / span 2;
  grid-row: span 2 / span 2;
  grid-column-start: 1;
  grid-row-start: 4;
  display: flex;
  flex-direction: column;
}
body.single-product .card-customization-section .extra-field textarea {
  flex-grow: 1;
}
body.single-product .address-radio label,
body.single-product .proof-approval-label {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  cursor: pointer;
}
body.single-product .address-radio label input:checked + span + svg,
body.single-product .proof-approval-label input:checked + span + svg {
  display: block;
}
body.single-product .address-radio label svg,
body.single-product .proof-approval-label svg {
  display: none;
  position: absolute;
  stroke: var(--bde-palette-color-1-1722d172-76b3-443f-9609-358ba28e86d9);
  height: 30px;
  width: 30px;
  top: 4px;
  left: 4px;
}
body.single-product input[type="radio"],
body.single-product input[type="checkbox"] {
  appearance: none;
  background-color: var(--bde-palette-white-6b6b2f7b-8eeb-41ba-b3db-3ad31f6240c7-3);
  border-radius: 10px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  height: 36px;
  width: 36px;
}
body.single-product .return-address-options {
  margin-bottom: 50px;
}
body.single-product .return-address-options .field-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
body.single-product .return-address-options .custom-address-fields-container {
  padding-top: 25px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: 15px;
}
body.single-product .return-address-options .address-name {
  grid-column: span 3 / span 3;
  grid-row-start: 1;
}
body.single-product .return-address-options .address {
  grid-column: span 3 / span 3;
  grid-column-start: 4;
  grid-row-start: 1;
}
body.single-product .return-address-options .city {
  grid-column: span 2 / span 2;
  grid-row-start: 2;
}
body.single-product .return-address-options .state {
  grid-column: span 2 / span 2;
  grid-column-start: 3;
  grid-row-start: 2;
}
body.single-product .return-address-options .zip {
  grid-column: span 2 / span 2;
  grid-column-start: 5;
  grid-row-start: 2;
}
body.single-product .proof-generation-section {
  margin-bottom: 50px;
}
body.single-product #proof-display-area-container {
  padding-top: 50px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  align-items: center;
}
body.single-product #proof-display-area-container img {
  max-width: 640px;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
body.single-product .generate-proof-controls {
  margin-top: 25px;
  display: flex;
  gap: 40px;
}
body.single-product .generate-proof-controls #proof-loader {
  transition: all 0.4s ease;
}
