@charset "UTF-8";
#btn-full-paper-purchase.disabled,
#btn-product-add-to-cart.disabled,
#btn-display-cutting-modal.disabled,
#cuttingAddToCartBtn.disabled,
#float-btn-full-paper-purchase.disabled,
#float-btn-display-cutting-modal.disabled,
#float-btn-add-to-cart.disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

.c-btn--cart-text-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.spinner-border {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 0.2em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 0.75s linear infinite;
}

.p-detail__quantity-value {
  align-content: center;
}

.p-detail-price__cell.--price {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
}

.price-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: 4px;
}

.text-danger {
  color: #dc3545;
}

.d-none {
  display: none !important;
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.p-detail__num--empty {
  display: none;
}

.p-detail-sku__weight-label {
  width: -moz-max-content;
  width: max-content;
}

.p-detail-sku__weight-group {
  flex-wrap: wrap;
}

.p-detail-sku__renewed {
  margin: 20px 0;
  padding: 9px 1em;
  text-align: center;
  font-size: 0.875rem;
  background-color: #D8D8D9;
  transition: opacity 0.3s ease, height 0.3s ease, padding 0.3s ease, margin 0.3s ease;
  /* 非表示状態 */
}

.p-detail-sku__renewed-link {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Bootstrap utility classes for cutting modal */
.d-flex {
  display: flex !important;
}

.align-items-center {
  align-items: center !important;
}

.justify-content-center {
  justify-content: center !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.text-center {
  text-align: center !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.fw-bold {
  font-weight: bold !important;
}

/* Screen reader only class for accessibility */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Loading spinner animation */
.btn-loading-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  border-top-color: transparent;
  animation: btn-spin 1s ease-in-out infinite;
  margin-right: 8px;
  vertical-align: middle;
}

ul.p-detail-model-num {
  flex-wrap: wrap;
  row-gap: 5px;
}

@keyframes btn-spin {
  to {
    transform: rotate(360deg);
  }
}
/* Button loading state */
.p-cut__select-button-output.loading {
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
  position: relative;
}

.p-cut__select-button-output.loading .btn-text {
  opacity: 0.8;
}

.p-detail-cont__box-cont .p-detail-cont__box-cont-img-list {
  display: flex;
  gap: 12px;
  margin-top: 10px;
}

/* Responsive adjustments */
/* High contrast mode support */
/* Reduced motion support */
/* Cutting modal: error message styling */
#cuttingSizeError {
  color: #dc3545;
  margin-top: 8px;
  margin-left: 130px;
}

/* Utility: explicit block display to pair with d-none toggling */
.d-block {
  display: block !important;
}

/* Watermark: hide the parent container when no watermark_image */
.is-watermark-empty {
  display: none !important;
}

.p-cut__content-output-cut-result-note-handling-unit-pack-quantity {
  margin-top: 10px;
  color: red;
  font-size: 0.875rem;
}

@media screen and (min-width: 1024px) {
  .p-detail__cart-roll > img {
    position: unset;
    top: auto;
    left: auto;
  }
}

@media screen and (max-width: 1023px) {
  .p-cut__content-output-cut-result-note-handling-unit-pack-quantity {
    text-align: left;
  }
  .p-cut__content-output-cut-result-note-handling-unit-pack-quantity p {
    font-size: 0.75rem;
  }
}

@media (max-width: 768px) {
  .btn-loading-spinner {
    width: 14px;
    height: 14px;
    margin-right: 6px;
  }
}

@media (max-width: 480px) {
  .btn-loading-spinner {
    width: 12px;
    height: 12px;
    margin-right: 4px;
  }
}

@media (prefers-contrast: high) {
  .btn-loading-spinner {
    border-color: currentColor;
    border-top-color: transparent;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn-loading-spinner {
    animation: none;
    border-top-color: #ffffff;
  }
  .btn-loading-spinner::after {
    content: "...";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    color: #ffffff;
  }
}
/*# sourceMappingURL=takeo_paper.css.map */