/* Kana Box Shop V4: stable product layout and larger shopping-guide text */

@media screen and (min-width: 990px) {
  .template-product .product.grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(40rem, .92fr) !important;
    align-items: start !important;
    gap: clamp(2.5rem, 4vw, 5rem) !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .template-product .product.grid > .product__media-wrapper,
  .template-product .product.grid > .product__info-wrapper {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
  }

  .template-product .product__info-container--sticky {
    position: sticky !important;
    top: 2rem !important;
  }

  .kana-gallery-enabled .product__media-item {
    height: clamp(46rem, 45vw, 58rem) !important;
  }

  .kana-product-thumbnail {
    flex-basis: 7.2rem;
    width: 7.2rem;
    height: 7.2rem;
  }

  .kana-product-gallery__count {
    bottom: 11.5rem;
  }

  .template-product .product__title {
    font-size: clamp(2.6rem, 2.6vw, 3.6rem) !important;
    line-height: 1.32;
  }

  .template-product .product__info-container .product-wrapper_color {
    padding: clamp(2.2rem, 3vw, 3.4rem);
  }
}

.kana-product-description-link {
  margin: 1.2rem 0 1.8rem;
  color: #fff;
  background: linear-gradient(135deg, var(--kana-v2-purple-dark), var(--kana-v2-purple));
  box-shadow: 0 9px 22px rgba(87, 59, 126, .18);
}

.kana-product-description-link:hover {
  color: #fff;
  background: linear-gradient(135deg, var(--kana-v2-pink), var(--kana-v2-purple));
}

.kana-product-description-section {
  margin-top: clamp(3rem, 5vw, 5.5rem);
  scroll-margin-top: 8rem;
}

.kana-product-description-section__header {
  margin-bottom: 1.5rem;
}

.template-product .kana-product-description-section .product__description {
  padding-top: clamp(2rem, 4vw, 4rem);
}

.kana-v3-order-row {
  padding: 1.55rem;
}

.kana-v3-order-row h4 span {
  font-size: 1.3rem;
}

.kana-v3-order-steps > span {
  font-size: 1.34rem;
  line-height: 1.45;
}

.kana-v3-order-steps small {
  font-size: 1.05rem;
  line-height: 1.35;
}

.kana-v3-order-notice {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-top: 1.2rem;
  padding: 1.25rem 1.5rem;
  color: #5c5264;
  border: 1px solid rgba(116, 83, 164, .18);
  border-radius: 1.4rem;
  background: linear-gradient(90deg, rgba(243, 237, 249, .9), rgba(255, 240, 245, .75));
}

.kana-v3-order-notice__icon {
  display: grid;
  place-items: center;
  flex: 0 0 3.8rem;
  width: 3.8rem;
  height: 3.8rem;
  color: #fff;
  border-radius: 50%;
  background: var(--kana-v2-purple);
  line-height: 0;
}

.kana-v3-order-notice__icon svg {
  display: block;
  width: 1.9rem;
  height: 1.9rem;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.kana-v3-order-notice strong,
.kana-v3-order-notice span {
  display: block;
}

.kana-v3-order-notice strong {
  color: var(--kana-v2-ink);
  font-size: 1.3rem;
}

.kana-v3-order-notice span {
  margin-top: .2rem;
  font-size: 1.15rem;
  line-height: 1.5;
}

@media screen and (max-width: 989px) {
  .template-product .product.grid {
    display: block !important;
    margin: 0 !important;
  }

  .template-product .product.grid > .product__media-wrapper,
  .template-product .product.grid > .product__info-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
  }

  .template-product .product.grid > .product__info-wrapper {
    margin-top: 1.5rem !important;
  }
}

@media screen and (max-width: 749px) {
  .kana-v3-order-steps > span {
    font-size: 1.18rem;
  }

  .kana-v3-order-steps small {
    font-size: .98rem;
  }

  .kana-v3-order-notice {
    align-items: flex-start;
    padding: 1.1rem;
  }

  .kana-v3-order-notice strong {
    font-size: 1.2rem;
  }

  .kana-v3-order-notice span {
    font-size: 1.05rem;
  }
}
