/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.checkout-wrapper {
  display: inline-block; }
  .checkout-wrapper .apple-pay-button {
    margin-bottom: 0.625rem;
    width: 100%; }
  .checkout-wrapper .checkout-container {
    display: flex;
    flex-direction: column; }
    .checkout-wrapper .checkout-container--paypal {
      margin-top: 0.625rem; }

.terms-and-conditions {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.38;
  text-align: center;
  margin-bottom: 1.25rem; }
  .terms-and-conditions > a {
    text-decoration: underline; }
    .terms-and-conditions > a:hover {
      font-weight: bold; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.apple-pay-error {
  text-align: center;
  color: #d70000;
  font-size: 0.8125rem;
  margin-bottom: 0.625rem; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.apple-pay-button {
  --apple-pay-scale: 1;
  /* (height / 32) */
  display: inline-flex;
  justify-content: center;
  font-size: 1rem;
  border-radius: 1.5rem;
  padding: 0;
  box-sizing: border-box;
  min-width: 12.5rem;
  height: 3rem; }
  .apple-pay-button__text {
    font-family: -apple-system;
    font-size: calc(1em * var(--apple-pay-scale));
    font-weight: 300;
    align-self: center;
    margin-right: calc(0.125rem * var(--apple-pay-scale)); }
  .apple-pay-button__logo {
    width: calc(3rem * var(--apple-pay-scale));
    height: calc(calc(3rem * var(--apple-pay-scale)) * 0.75);
    background-size: 100% 60%;
    background-repeat: no-repeat;
    background-position: 0 50%;
    margin-left: calc(0.125rem * var(--apple-pay-scale));
    border: none; }
  .apple-pay-button--black {
    background-color: black;
    color: white; }
    .apple-pay-button--black .apple-pay-button__logo {
      background-image: -webkit-named-image(apple-pay-logo-white);
      background-color: black; }
  .apple-pay-button--white {
    background-color: white;
    color: black; }
    .apple-pay-button--white--with-line {
      border: 0.03125rem solid black; }
    .apple-pay-button--white .apple-pay-button__logo {
      background-image: -webkit-named-image(apple-pay-logo-black);
      background-color: white; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.summary {
  background-color: #f6f6f6;
  padding: 1.25rem;
  box-sizing: border-box;
  border-radius: 0.3125rem;
  margin-bottom: 1.25rem; }
  .summary .checkout-container {
    display: flex;
    flex-direction: column;
    align-items: center; }
  .summary-checkout-link .summary {
    margin-bottom: 0; }
  .summary-checkout-link .checkout-link {
    text-align: center;
    width: 100%;
    margin: 0.625rem 0 0.5rem 0; }
    .summary-checkout-link .checkout-link__link {
      width: 100%; }
    .summary-checkout-link .checkout-link__button {
      width: 100%; }
  .summary-checkout-link .apple-pay-button {
    margin-bottom: 0.625rem; }
  @media screen and (max-width: 49.9375rem) {
    .summary {
      width: 100%;
      margin-top: 2.5rem; } }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.summary-subsection {
  border-bottom: 0.0625rem solid #e5e5e5;
  padding: 0.625rem 0;
  display: flex;
  flex-direction: column; }
  .summary-subsection__top {
    display: flex;
    justify-content: space-between;
    padding-bottom: 0.1875rem; }
    .summary-subsection__top__text {
      display: flex;
      flex-direction: column; }
    .summary-subsection__top__value {
      font-family: "Century Gothic Std Bold", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", "Noto Sans KR"; }
    .summary-subsection__top__underscore {
      width: 1rem;
      height: 0.1875rem;
      background-color: #000000;
      display: inline-flex;
      margin-bottom: 0.3125rem; }
  .summary-subsection__bottom {
    font-size: 0.8125rem; }
  .summary-subsection__is-total {
    font-size: 1.625rem;
    border-bottom: none; }
    .summary-subsection__is-total .summary-subsection__bottom {
      font-family: "Century Gothic Std", Arial, sans-serif; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.summary-subsection-placeholder {
  display: flex;
  justify-content: space-between;
  padding: 0.625rem 0;
  box-sizing: border-box;
  border-bottom: 0.0625rem solid #e5e5e5; }
  .summary-subsection-placeholder:last-of-type {
    border-bottom: none; }
  .summary-subsection-placeholder-left, .summary-subsection-placeholder-right {
    width: 6.25rem !important; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.delivery-method-line {
  width: 100%; }
  .delivery-method-line:hover .delivery-method-line__description {
    font-weight: normal; }
  .delivery-method-line:hover .delivery-method-line__date-selector {
    font-weight: normal; }
  .delivery-method-line:hover .delivery-method-line__time-selector {
    font-weight: normal; }
  .delivery-method-line__infos {
    margin-bottom: 1rem; }
  .delivery-method-line__description {
    max-width: 36.25rem;
    margin-top: 0.625rem;
    font-family: "Century Gothic Std", Arial, sans-serif;
    font-weight: normal; }
  .delivery-method-line__header {
    display: flex;
    flex-direction: row;
    justify-content: space-between; }
  .delivery-method-line__selectors {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 1.25rem 0 1.25rem;
    font-family: "Century Gothic Std", Arial, sans-serif; }
  .delivery-method-line .select-field {
    width: 100%;
    max-width: 22.8125rem;
    min-width: 13.125rem;
    font-family: "Century Gothic Std", Arial, sans-serif;
    font-weight: normal; }
  .delivery-method-line__date-selector {
    margin-right: 1.25rem;
    background-color: #ffffff;
    z-index: 4; }
  .delivery-method-line__time-selector {
    background-color: #ffffff;
    z-index: 3; }
  @media screen and (max-width: 63.9375rem) {
    .delivery-method-line__selectors {
      flex-direction: column;
      align-items: center; }
    .delivery-method-line__date-selector {
      margin-right: 0;
      margin-bottom: 0.625rem; } }
  @media screen and (max-width: 20rem) {
    .delivery-method-line__header--withDateTimeSlots, .delivery-method-line__description--withDateTimeSlots {
      padding-right: 0.625rem; }
    .delivery-method-line__description {
      overflow-wrap: break-word; } }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.delivery-methods .radio-button {
  position: relative;
  font-size: 0.9375rem; }
  .delivery-methods .radio-button__label {
    align-items: flex-start;
    padding: 0; }
  .delivery-methods .radio-button .radio-button-tick {
    margin-top: 1.0625rem;
    position: absolute;
    left: 0.625rem; }
  .delivery-methods .radio-button:hover {
    font-weight: bold;
    background-color: #f6f6f6;
    border-radius: 0.3125rem; }
  .delivery-methods .radio-button-checked {
    font-family: "Century Gothic Std Bold", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", "Noto Sans KR";
    background-color: #f6f6f6;
    border-radius: 0.3125rem; }
  .delivery-methods .radio-button span.text {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding-top: 1.25rem;
    margin: 0 0.9375rem 0 3.125rem; }
    .delivery-methods .radio-button span.text > span:last-of-type {
      margin-left: 3.125rem; }

.delivery-methods__info-line {
  margin-top: 1rem;
  color: #757575;
  font-size: 0.6875rem;
  line-height: 1rem;
  margin-left: 0.625rem; }

@media screen and (max-width: 49.9375rem) {
  .delivery-methods {
    font-size: 0.9375rem; } }

.preorder-delivery-warning {
  padding: 0.9375rem 0.625rem;
  border: 0.0625rem solid #e5e5e5;
  border-radius: 0.3125rem;
  margin: -0.625rem 0 0.9375rem 0; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.post-paypal-popin {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center; }
  .post-paypal-popin__delivery-select {
    margin-top: 1.25rem; }
  .post-paypal-popin__summary {
    margin-top: 1.25rem; }
  .post-paypal-popin__submit {
    margin-top: 1.25rem; }
  .post-paypal-popin__error {
    margin-top: 0.625rem;
    color: #d70000;
    font-size: 0.8125rem;
    line-height: 1; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.paypal-button {
  position: relative;
  z-index: 1; }
  .paypal-button__error-container {
    text-align: center;
    color: #d70000;
    font-size: 0.8125rem;
    margin-bottom: 0.625rem; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.engraving-error {
  max-width: 28.125rem;
  font-size: 0.9375rem;
  line-height: 1.5rem; }
  .engraving-error-title {
    text-align: center;
    margin-bottom: 0.625rem; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.engraving {
  max-width: 28.125rem;
  text-align: center;
  font-size: 0.9375rem;
  line-height: 1.5rem; }
  .engraving-title {
    margin: 0 auto 0.375rem;
    width: 90%; }
  .engraving-price {
    font-family: "Century Gothic Std Bold", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", "Noto Sans KR"; }
  .engraving-max-characters, .engraving-text {
    font-size: 0.8125rem;
    color: #757575; }
  .engraving-max-characters {
    width: 20.9375rem;
    max-width: 100%;
    text-align: right;
    margin: 0 auto 0.875rem; }
  .engraving-text {
    margin-top: 0.875rem; }
  .engraving .image img {
    max-width: 100%; }
  .engraving-input-description,
  .engraving .text-input {
    width: 20.9375rem;
    max-width: 100%;
    text-align: left;
    margin: 0.625rem auto 0; }
  .engraving-input-description {
    margin: 0.625rem auto 0; }
  .engraving .text-input {
    margin-top: 0.9375rem; }
  .engraving .button-link {
    min-width: 14.75rem;
    margin-bottom: 0.875rem; }
  .engraving__loader {
    margin: auto;
    width: 21.875rem; }
  .engraving__cancel {
    display: block;
    margin: 0 auto 1.25rem;
    text-decoration: underline; }
    .engraving__cancel:hover {
      font-weight: bold; }

/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
/*
 * Return the rem of a pixel's value
 *
 * Sample: pxToRem(50)
 * Result: 3.125rem
 */
/*
 * Return the percent ratio from width and height
 *
 * Sample: ratio(16, 9)
 * Result: 56.25%
 */
.remove-engraving {
  display: flex;
  flex-direction: column;
  width: 42.5rem;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 2.1875rem; }
  .remove-engraving__title {
    margin-bottom: 0.625rem; }
  .remove-engraving__description {
    line-height: 1.5rem; }
  .remove-engraving__button {
    margin: 1.25rem 0; }
  .remove-engraving__cancel {
    text-decoration: underline; }
    .remove-engraving__cancel:hover {
      font-weight: bold; }
  @media screen and (max-width: 49.9375rem) {
    .remove-engraving {
      width: auto;
      padding: 0 1.3125rem; } }

