@charset "utf-8";

/* ==========================================================================
  クーポンアシスト #CRE_DEV-515
  カート追加時モーダルも記載
   ========================================================================== */

/*----------------------------------------------------------------------------
  カート追加時モーダル（quickview）
----------------------------------------------------------------------------*/
.addCart_feedback {
  text-indent: 0;
  width: 100%;
}
.addCart_feedback .buttonToCart {
  display: flex;
  margin-bottom: 5px;
  width: 100%;
  height: 40px;
  justify-content: center;
  align-items: center;
  color: #fa7046;
  background: #fff;
  border: 1px solid #fa7046;
  border-radius: 2px;
  text-decoration: none;
  box-sizing: border-box;
  text-indent: 0px;
}
.addCart_feedback .feedbackText {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #fa7046;
  text-align: center;
}
.addCart_feedback .feedbackText:before {
  font-size: 1.3em;
  position: relative;
  top: 2px;
  margin-right: 2px;
}
/* SP商品詳細モーダル：.modCartBtn は height:40px 固定のため、フィードバックUI挿入時のみ高さ制約を解除して縦積みを許可 */
#favinner .modCartBtn:has(.addCart_feedback) {
  height: auto;
}

/* ajaxの返事を待つアニメーション（quickview.css 踏襲、uk-spinner SVGを兄弟配置で表示） */
td.order,
.modCartBtn {
  position: relative;
}
td.order > [uk-spinner],
.modCartBtn > [uk-spinner] {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
}
td.order > [uk-spinner] svg,
.modCartBtn > [uk-spinner] svg {
  display: block;
  width: 30px;
  height: 30px;
}
td.order > [uk-spinner] svg circle,
.modCartBtn > [uk-spinner] svg circle {
  color: #fa7046;
}
td.order:has(> .ga4_event_add_to_cart.-sending) > [uk-spinner],
.modCartBtn:has(> .ga4_event_add_to_cart.-sending) > [uk-spinner] {
  display: block;
}
.ga4_event_add_to_cart.-sending {
  color: transparent;
  pointer-events: none;
}
.ga4_event_add_to_cart.-sending:hover {
  cursor: not-allowed;
}
/* 商品詳細：-sending時にボタン本体（PCはスプライト画像／SPはオレンジ塗り）を消してスピナーを可視化 */
.cartin.ga4_event_add_to_cart.-sending,
.reserve.ga4_event_add_to_cart.-sending {
  background-image: none;
}
#favinner .adct.ga4_event_add_to_cart.-sending {
  background-color: #fff;
}

/*----------------------------------------------------------------------------
  カート追加モーダル
----------------------------------------------------------------------------*/
#modal_cartInBtn {
  z-index: 2000 !important;/* エラーメッセージとの重ね順調整 */
}
#modal_cartInBtn .uk-modal-dialog {
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__close {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 40px;
  height: 40px;
  text-align: center;
  font-size: 20px;
  line-height: 39px;
  color: #999;
  background: #EBEBEB;
  border-radius: 50%;
  cursor: pointer;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__close:hover {
  color: #333;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__title {
  font-size: 16px;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 10px;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__sum {
  margin-bottom: 20px;
  color: #666;
  font-size: 12px;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__sum span {
  display: inline-block;
  font-size: 15px;
  padding: 0 3px;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__btn {
  margin-bottom: 20px;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__btn a {
  display: block;
  color: #fff;
  background: #fa7046;
  border-radius: 2px;
  font-size: 15px;
  line-height: 1;
  padding: 1em;
  text-decoration: none;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__btn a:hover {
  opacity: 0.8;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__text {
  font-size: 13px;
  line-height: 1;
  color: #666;
  text-decoration: underline;
  text-underline-offset: 6px;
  cursor: pointer;
}
#modal_cartInBtn .uk-modal-dialog .modal_cartInBtn__text:hover {
  text-decoration: none;
}

/*----------------------------------------------------------------------------
  クーポンアシスト 共通スタイル
----------------------------------------------------------------------------*/
.modal_cartInBtn__coupon-assist {
  background-color: #EFEFEF;
  border-radius: 0 0 5px 5px;
  overflow-y: auto;
  scrollbar-width: none;
}
.modal_cartInBtn__coupon-assist::-webkit-scrollbar {
  display: none;
}
.modal_cartInBtn__coupon-header {
  text-align: left;
}
.modal_cartInBtn__coupon-message {
  font-size: 12px;
  font-weight: normal;
  text-align: center;
  color: #666;
  background-color: #fff;
  border: 1px solid #E2E2E2;
  border-radius: 5px;
}
.modal_cartInBtn__coupon-discount {
  font-size: 14px;
  color: #FF0030;
  padding: 0 3px;
}
.modal_cartInBtn__coupon-view {
  font-size: 13px;
  line-height: 1;
  color: #666;
  text-decoration: underline;
  text-underline-offset: 6px;
  cursor: pointer;
}
.modal_cartInBtn__coupon-view-link {
  text-decoration: underline;
  color: #666 !important;
}
#couponAssistRecoList .modal_cartInBtn__coupon-list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
#couponAssistRecoList .modal_cartInBtn__coupon-list::before,
#couponAssistRecoList .modal_cartInBtn__coupon-list::after {
  display: none;
}
#couponAssistRecoList .modal_cartInBtn__coupon-list > li {
  margin-bottom: 0;
}
#couponAssistRecoList .modal_cartInBtn__coupon-list > li a {
  padding-bottom: 0;
  text-decoration: none;
}
#couponAssistRecoList .modal_cartInBtn__coupon-list > li a:hover {
  color: inherit;
  opacity: 0.7;
}
/* 商品一覧ページ（content-product.css 未ロード）のクイックビュー対策：共通JSP（elm_catalogList_template.jsp）のクラスに合わせて必要スタイルを内包 */
#couponAssistRecoList .catalogList_item > a {
  display: block;
}
#couponAssistRecoList .product-image {
  background-color: #fff;
  overflow: hidden;
  min-height: auto;
}
#couponAssistRecoList .product-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#couponAssistRecoList .product-text {
  padding: 5px;
  line-height: 1.5;
}
#couponAssistRecoList .brandName {
  font-size: 12px;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #333;
  letter-spacing: 0.03em;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 0;
}
#couponAssistRecoList .commodityName {
  display: block;
  font-size: 10px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #888;
  letter-spacing: 0.02em;
  width: auto;
  line-height: 1.5;
  margin-bottom: 0;
}
#couponAssistRecoList .priceLine {
  display: block;
  font-size: 14px;
  color: #333;
  letter-spacing: 0.05em;
  font-weight: 700;
}
#couponAssistRecoList .special_price {
  font-size: 14px;
  line-height: 1.5 !important;
}
#couponAssistRecoList .special_price .-sale {
  color: #ff0030;
}
#couponAssistRecoList .priceLine .-proper {
  display: none;
}
#modal_cartInBtn:has(.modal_cartInBtn__coupon-assist) .uk-modal-dialog .modal_cartInBtn__btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  border-radius: 0 0 5px 5px;
  padding: 15px 0;
  margin-bottom: 0;
}
.modal_cartInBtn__coupon-assist .couponInfo-note {
  line-height: 1.6;
  color: #888;
}
.modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other {
  margin-top: 35px;
}
.modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other .sectionHeading {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other .sectionHeading::before,
.modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other .sectionHeading::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #ccc;
}
.modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other .sectionHeading__icon {
  flex-shrink: 0;
}
.modal_cartInBtn__coupon-other .couponInfo-set {
  text-align: left;
}
.modal_cartInBtn__coupon-other .couponInfo-item {
  max-width: 100%;
}
.modal_cartInBtn__coupon-other .couponInfo-item .heading {
  font-size: 20px;
}
.modal_cartInBtn__coupon-other .couponInfo-item .goToAll a {
  font-size: 10px;
}
.modal_cartInBtn__coupon-other .couponInfo-item .conditionSet {
  font-size: 12px;
}
/* UI上クーポンアシスト内では不要 */
.modal_cartInBtn__coupon-other .couponInfo-item .conditionSet small,
.modal_cartInBtn__coupon-other .couponInfo-item .endTime small,
.modal_cartInBtn__coupon-other .couponInfo-item .couponCode,
.modal_cartInBtn__coupon-other .couponInfo-item .conditionSet .condition-2:last-child::after {
  display: none;
}

/* デスクトップビューポート (769px以上) */
@media (min-width: 769px) {
  #modal_cartInBtn .uk-modal-dialog {
    width: 360px;
    padding: 40px;
    border-radius: 5px;
  }
  #modal_cartInBtn:has(.modal_cartInBtn__coupon-assist) .uk-modal-dialog {
    width: 510px;
    padding: 40px 40px 0px 40px;
  }
  .modal_cartInBtn__btn:has(.modal_cartInBtn__coupon-assist) a {
    margin: 0 auto;
  }
  .modal_cartInBtn__coupon-assist {
    padding: 30px 30px 80px 30px;
    margin: 35px -40px 0 -40px;
    max-height: 320px;
  }
  .modal_cartInBtn__coupon-header {
    margin-bottom: 15px;
  }
  .modal_cartInBtn__coupon-message {
    padding: 6px 0;
  }
  .modal_cartInBtn__coupon-assist .couponInfo-note {
    font-size: 11px;
    margin-top: 0;
  }
  #couponAssistRecoList .modal_cartInBtn__coupon-list {
    text-align: left;
    gap: 0;
  }
  #couponAssistRecoList .modal_cartInBtn__coupon-list > li {
    width: calc(100% / 4);
    padding: 0 5px;
    margin: 0;
    box-sizing: border-box;
  }
  #modal_cartInBtn:has(.modal_cartInBtn__coupon-assist) .uk-modal-dialog .modal_cartInBtn__btn a {
    max-width: 280px;
    margin: 0 auto;
  }
  .modal_cartInBtn__coupon-view {
    margin: 20px 0 30px 0;
  }
  .modal_cartInBtn__coupon-assist .slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .modal_cartInBtn__coupon-assist .slider-arrow.prev {
    left: -30px;
  }
  .modal_cartInBtn__coupon-assist .slider-arrow.next {
    right: -30px;
  }
  .modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other .sectionHeading {
    font-size: 16px;
  }
  .modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other .sectionHeading__icon {
    width: 17px;
    height: 17px;
    margin-right: -5px;
  }
}

/* モバイルビューポート (768px以下) */
@media (max-width: 768px) {
  #modal_cartInBtn .uk-modal-dialog {
    width: 95%;
    padding: 30px;
  }
  #modal_cartInBtn:has(.modal_cartInBtn__coupon-assist) .uk-modal-dialog {
    width: 100%;
    padding: 30px 30px 0 30px;
  }
  .modal_cartInBtn__coupon-assist {
    padding: 20px 15px 75px 15px;
    margin: 25px -30px 0 -30px;
    max-height: 335px;
  }
  .modal_cartInBtn__coupon-header {
    margin-bottom: 20px;
  }
  .modal_cartInBtn__coupon-message {
    padding: 7px 0;
  }
  .modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-list {
    text-align: left;
    padding: 0;
    gap: 5px;
    overflow-x: scroll;
    scrollbar-width: none;
  }
  .modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-list > li.catalogList_item {
    width: calc((100% - 2px) / 3.5);
    flex-shrink: 0;
  }
  .modal_cartInBtn__coupon-list::-webkit-scrollbar {
    display: none;
  }
  .modal_cartInBtn__coupon-view {
    margin: 20px 0 30px 0;
  }
  #modal_cartInBtn:has(.modal_cartInBtn__coupon-assist) .uk-modal-dialog .modal_cartInBtn__btn {
    z-index: 999;
  }
  #modal_cartInBtn:has(.modal_cartInBtn__coupon-assist) .uk-modal-dialog .modal_cartInBtn__btn a {
    margin: 0 30px;
  }
  .modal_cartInBtn__coupon-assist .couponInfo-note {
    font-size: 10px;
    margin-top: 2px;
  }
  .modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other {
    padding: 0;
  }
  .modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other .sectionHeading {
    font-size: 14px;
  }
  .modal_cartInBtn__coupon-assist .modal_cartInBtn__coupon-other .sectionHeading__icon {
    width: 15px;
    height: 15px;
    margin: 1px -4px 0 0;
  }
  .modal_cartInBtn__coupon-other .couponInfo-item .goToAll a {
    line-height: 18px;
  }
  .modal_cartInBtn__coupon-other .couponInfo-item .couponInfo-item-note {
    font-size: 10px;
  }
}
