.dv-variation-picker {
  display: none;
}

.dv-item-info-links {
  display: none;
}

.dv-description-toggle {
  display: none;
}

#review-apps
  .dv-review-lazy-placeholder {
  display: flex;
  align-items: center;
  min-height: 72px;
}

#review-apps
  .dv-review-lazy-placeholder
  .review01__title {
  margin: 0;
  font-size: 18px !important;
  line-height: 1.4 !important;
}

#review-apps
  .review01__listChild.dv-normal-review-hidden {
  display: none !important;
}

#review-apps:has(#review_show_normal:checked)
  .x_reviewList
  > .review01__listChild:nth-of-type(n + 3) {
  display: none !important;
}

#header-menu
  #navbar-toggle.dv-header-back-button {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
}

#header-menu
  .dv-header-back-icon {
  display: block;
  width: 13px;
  height: 13px;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  transform: translateX(3px) rotate(45deg);
}

body.dv-payment-modal-open {
  overflow: hidden;
}

#shopDetailPage
  #dolce-itemdetail
  .area-cart:has(#itemAttention .attention.free)
  .item-price::after {
  display: none !important;
  content: none !important;
}

#shopDetailPage
  #dolce-itemdetail
  .area-cart
  .item-price
  .dv-free-shipping-label {
  margin-left: 8px;
  color: #ff333f;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
   margin-top: 14px;
}

body:not(#shopDetailPage)
  #x_startMessenger.msg_startButton {
  display: none !important;
}

@media (max-width: 959px) {
  #shopDetailPage
    #dolce-itemdetail-sp
    > .title-item,
  #shopDetailPage
    #review-apps
    .review01__title {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  #shopDetailPage
    .dv-description-segment.is-collapsed {
    max-height: var(
      --dv-description-collapsed-height
    ) !important;
    overflow: hidden !important;
  }

  #shopDetailPage
    .dv-description-segment.is-expanded {
    max-height: none !important;
    overflow: visible !important;
  }

  #shopDetailPage .dv-description-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 64px;
    margin: 8px 0 18px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #0095ee;
    font: inherit;
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: center;
    appearance: none;
    -webkit-appearance: none;
  }

  #shopDetailPage .dv-description-toggle-icon {
    width: 12px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-3px) rotate(45deg);
  }

  #shopDetailPage
    .dv-description-toggle[aria-expanded="true"]
    .dv-description-toggle-icon {
    transform: translateY(3px) rotate(225deg);
  }

  #shopDetailPage
    #dolce-itemdetail
    .area-cart
    .vcr-wrap
    .item-price {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px;
    width: 100%;
  }

  #shopDetailPage
    #dolce-itemdetail
    .area-cart
    .vcr-wrap
    .item-price
    > .price,
  #shopDetailPage
    #dolce-itemdetail
    .area-cart
    .vcr-wrap
    .item-price
    > .dv-free-shipping-label {
    flex: 0 0 auto;
    white-space: nowrap !important;
  }

  #shopDetailPage
    .dv-price-favorite {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    margin: 0 0 0 auto !important;
  }

  #shopDetailPage
    .dv-price-favorite
    .itempage-fav {
    width: auto;
  }

  #shopDetailPage
    .dv-price-favorite
    .fav-toggle {
    position: relative !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-sizing: border-box;
    width: 86px !important;
    min-width: 86px;
    height: 70px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: #444 !important;
  }

  #shopDetailPage
    .dv-price-favorite
    .dv-favorite-icon-shell {
    display: block;
    box-sizing: border-box;
    width: 42px;
    height: 42px;
    border: 1px solid #ddd;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 5px 14px
      rgba(0, 0, 0, 0.12);
    pointer-events: none;
  }

  #shopDetailPage
    .dv-price-favorite
    .fav-toggle::before,
  #shopDetailPage
    .dv-price-favorite
    .fav-toggle::after {
    position: absolute !important;
    z-index: 1;
    top: 26px !important;
    right: auto !important;
    bottom: auto !important;
    left: 53% !important;
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
  }

  #shopDetailPage .dv-favorite-label {
    color: #444;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
  }

  #shopDetailPage .dv-product-question {
    width: 100%;
    margin: 22px 0 26px;
  }

  #shopDetailPage
    .dv-product-question
    .dv-product-question-button {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    transform: none !important;
    border: 1px solid #ff333f !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #ff333f !important;
    font: inherit;
    appearance: none;
    -webkit-appearance: none;
  }

  #shopDetailPage
    .dv-product-question
    .dv-product-question-icon,
  #shopDetailPage
    .dv-product-question
    .dv-product-question-text {
    color: #ff333f !important;
  }

  #shopDetailPage
    .dv-product-question
    .dv-product-question-text {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }

  html.dv-cart-loading:not(.dv-cart-ready)
    #shopDetailPage
    #bottom-cart {
    visibility: hidden !important;
  }

  #shopDetailPage
    #bottom-cart
    #itemFloatingCartAltSp2
    .purch-btn {
    display: none !important;
    visibility: hidden !important;
  }

  #shopDetailPage
    #purchase_form
    #variationSelectWrap.dv-variation-chip-ready {
    display: block !important;
    position: relative;
    margin: 0 !important;
    padding: 18px 0 !important;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
  }

  #shopDetailPage
    #purchase_form
    > #itemSelect {
    margin-bottom: 0 !important;
  }

  #shopDetailPage
    #purchase_form
    #variationSelectWrap.dv-variation-chip-ready::before,
  #shopDetailPage
    #purchase_form
    #variationSelectWrap.dv-variation-chip-ready::after {
    display: none !important;
    content: none !important;
  }

  #shopDetailPage
    #purchase_form
    #variationSelectWrap.dv-variation-chip-ready
    > label,
  #shopDetailPage
    #purchase_form
    #variationSelectWrap.dv-variation-chip-ready
    > select {
    display: none !important;
  }

  #shopDetailPage .dv-variation-picker {
    display: block;
    width: 100%;
    min-width: 0;
  }

  #shopDetailPage .dv-variation-error {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    padding: 14px 16px;
    background: #fff0f0;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
  }

  #shopDetailPage .dv-variation-error[hidden] {
    display: none !important;
  }

  #shopDetailPage .dv-variation-error-icon {
    position: relative;
    display: inline-flex;
    flex: 0 0 22px;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 20px;
    color: #fff;
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
  }

  #shopDetailPage .dv-variation-error-icon::before {
    position: absolute;
    z-index: 0;
    width: 0;
    height: 0;
    border-right: 11px solid transparent;
    border-bottom: 20px solid #df0000;
    border-left: 11px solid transparent;
    content: "";
  }

  #shopDetailPage .dv-variation-error-icon > span {
    position: relative;
    z-index: 1;
    padding-top: 6px;
  }

  #shopDetailPage .dv-variation-heading {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    margin-bottom: 14px;
  }

  #shopDetailPage .dv-variation-status {
    min-width: 0;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
  }

  #shopDetailPage .dv-variation-current {
    font-weight: 700;
  }

  #shopDetailPage
    .dv-variation-current.is-unselected {
    color: #333;
  }

  #shopDetailPage
    .dv-variation-picker.is-error
    .dv-variation-current.is-unselected {
    color: #df0000;
  }

  #shopDetailPage .dv-variation-options {
    display: flex;
    gap: 10px;
    width: 100%;
    padding: 0 0 4px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  #shopDetailPage
    .dv-variation-options::-webkit-scrollbar {
    display: none;
  }

  #shopDetailPage .dv-variation-option {
    flex: 0 0 auto;
    min-width: 116px;
    height: 52px;
    margin: 0;
    padding: 0 16px;
    border: 1px solid #bbb;
    border-radius: 5px;
    background: #fff;
    color: #333;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: nowrap;
  }

  #shopDetailPage
    .dv-variation-option.is-selected {
    border: 2px solid #222;
    font-weight: 700;
  }

  #shopDetailPage
    .dv-variation-option.is-out-of-stock {
    border-color: #ddd;
    background: #f5f5f5;
    color: #aaa;
    text-decoration: line-through;
  }

  #shopDetailPage
    #purchase_form
    #amountSelectWrap.dv-amount-waiting {
    display: none !important;
  }

  #shopDetailPage
    #purchase_form
    #amountSelectWrap
    select[name="amount"] {
    display: none !important;
  }

  #shopDetailPage .dv-item-info-links {
    display: block;
    width: 100%;
    margin: 18px 0 0;
    border-top: 1px solid #e5e7eb;
  }

  #shopDetailPage .dv-item-info-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20px;
    align-items: center;
    width: 100%;
    min-height: 64px;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #e5e7eb;
    border-radius: 0;
    background: #fff;
    color: #111;
    font: inherit;
    letter-spacing: 0;
    text-align: left;
    appearance: none;
    -webkit-appearance: none;
  }

  #shopDetailPage .dv-item-info-row:active {
    background: #f7f7f7;
  }

  #shopDetailPage
    .dv-item-info-row--review {
    grid-template-columns:
      minmax(0, 1fr) auto 20px;
  }

  #shopDetailPage
    .dv-item-info-row
    > .dv-item-info-icon {
    display: none;
  }

  #shopDetailPage .dv-item-info-icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #aab2bf;
    font-size: 22px;
    line-height: 1;
  }

  #shopDetailPage .dv-item-info-label {
    min-width: 0;
    padding-right: 12px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.35;
  }

  #shopDetailPage .dv-item-review-summary {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-right: 14px;
    white-space: nowrap;
  }

  #shopDetailPage .dv-item-review-stars {
    display: flex;
    align-items: center;
    gap: 3px;
    color: #f8c63d;
    font-size: 22px;
    line-height: 1;
  }

  #shopDetailPage
    .dv-item-review-stars
    .dv-static-icon--star {
    display: block;
    width: auto;
    color: inherit;
    font-family: sans-serif;
    font-size: inherit;
    font-style: normal;
    line-height: 1;
  }

  #shopDetailPage .dv-item-review-count {
    color: #111;
    font-size: 16px;
    line-height: 1;
  }

  #shopDetailPage .dv-item-info-arrow {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #aab2bf;
    font-size: 21px;
    line-height: 1;
  }

  #shopDetailPage
    .dv-item-info-arrow
    .dv-static-icon--chevron-right {
    display: block;
    font-family: sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 300;
    line-height: 1;
  }

  #shopDetailPage
    #purchase_form
    .dv-qty-stepper
    button[data-dv-qty] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  #shopDetailPage
    #purchase_form
    .dv-qty-stepper
    button[data-dv-qty]::before {
    display: block;
    font-size: 28px;
    line-height: 1;
    transform: translateY(-2px);
  }

  #shopDetailPage
    #purchase_form
    .dv-qty-stepper
    button[data-dv-qty="minus"]::before {
    content: "−";
  }

  #shopDetailPage
    #purchase_form
    .dv-qty-stepper
    button[data-dv-qty="plus"]::before {
    content: "+";
  }

  #shopDetailPage
    #bottom-cart
    form.x_purchaseForm
    > #itemSelect,
  #shopDetailPage
    #bottom-cart
    form.x_purchaseForm
    > select {
    display: none !important;
  }

  #shopDetailPage #bottom-cart .purch-btn {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center !important;
    gap: 8px !important;
  }

  #shopDetailPage #bottom-cart .purch-fav,
  html
    body#shopDetailPage
    #bottom-cart
    .bottom-cart-inner
    .fr
    .purch-btn-wrap
    > .purch-fav,
  #shopDetailPage #bottom-cart .purch-message,
  #shopDetailPage #x_startMessenger {
    display: none !important;
  }

  body#shopDetailPage
    #bottom-cart
    .purch-btn
    .purchaseButton {
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #shopDetailPage #bottom-cart .dv-temp-cart-button,
  body#shopDetailPage
    #bottom-cart
    .purch-btn
    .purchaseButton__btn--addToCart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    align-self: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition:
      opacity 100ms ease,
      transform 100ms ease;
  }

  #shopDetailPage #bottom-cart .dv-temp-cart-button {
    border: 1px solid #ff333f !important;
    background: #fff !important;
    color: #ff333f !important;
  }

  #shopDetailPage
    #bottom-cart
    .purchaseButton__btn--addToCart {
    border: 1px solid #ff333f !important;
    background: #ff333f !important;
    color: #fff !important;
  }

  #shopDetailPage #bottom-cart .dv-temp-cart-button:active,
  #shopDetailPage
    #bottom-cart
    .purchaseButton__btn--addToCart:active {
    transform: scale(0.985);
    opacity: 0.72;
  }

  #shopDetailPage
    #bottom-cart
    .purchaseButton__btn--addToCart[style*="display: none"],
  #shopDetailPage
    #bottom-cart
    .purchaseButton__btn--addToCart[style*="display:none"] {
    display: none !important;
  }

  #shopDetailPage
    #bottom-cart
    .dv-temp-cart-button[hidden] {
    display: none !important;
  }

  #dv-temp-cart-message {
    position: fixed;
    left: 55%;
    bottom: calc(76px + env(safe-area-inset-bottom));
    z-index: 99999;
    max-width: calc(100vw - 32px);
    padding: 11px 18px;
    transform: translateX(-50%);
    border-radius: 5px;
    background: #000;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
  }

  #dv-temp-cart-message.is-error {
    background: #333;
  }

  #shopDetailPage .dv-payment-modal {
    position: fixed;
    z-index: 100000;
    inset: 0;
    overflow: auto;
    background: rgba(0, 0, 0, 0.38);
    overscroll-behavior: contain;
  }

  #shopDetailPage .dv-payment-modal-panel {
    width: 100%;
    min-height: 100%;
    background: #fff;
  }

  #shopDetailPage .dv-payment-modal-header {
    position: sticky;
    z-index: 1;
    top: 0;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: center;
    min-height: 64px;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
  }

  #shopDetailPage .dv-payment-modal-header h2 {
    grid-column: 2;
    margin: 0;
    color: #111;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: center;
  }

  #shopDetailPage .dv-payment-modal-close {
    grid-column: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #333;
    font-size: 38px;
    font-weight: 300;
    line-height: 1;
  }

  #shopDetailPage .dv-payment-modal-content {
    max-width: 680px;
    margin: 0 auto;
    padding: 24px 24px 48px;
  }

  #shopDetailPage
    .dv-payment-modal
    .paymentMethodsLogoTag {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }

  #shopDetailPage
    .dv-payment-modal
    .paymentMethodsLogoTag__method {
    display: block !important;
    margin: 0 !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid #e5e7eb;
    list-style: none !important;
  }

  #shopDetailPage
    .dv-payment-modal
    .paymentMethodsLogoTag__method
    > p {
    margin: 0 0 12px !important;
    color: #111;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
  }

  #shopDetailPage
    .dv-payment-modal
    .paymentMethodsLogoTag__imgWrapper {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px !important;
  }

  #shopDetailPage
    .dv-payment-modal
    .paymentMethodsLogoTag__img {
    display: block !important;
    width: auto !important;
    height: 20px !important;
    object-fit: contain;
  }

  #shopDetailPage .dv-shipping-modal-content {
    padding-top: 28px;
  }

  #shopDetailPage .dv-shipping-intro {
    margin: 0 0 34px;
    color: #111;
    font-size: 17px;
    line-height: 1.7;
  }

  #shopDetailPage .dv-shipping-method {
    margin: 0;
    padding: 0 0 22px;
    border-bottom: 1px solid #e5e7eb;
  }

  #shopDetailPage .dv-shipping-method h3 {
    margin: 0 0 26px;
    color: #111;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
  }

  #shopDetailPage .dv-shipping-method-info {
    display: flex;
    align-items: center;
    gap: 36px;
  }

  #shopDetailPage .dv-shipping-method-info p {
    margin: 0;
    color: #111;
    font-size: 17px;
    line-height: 1.4;
  }

  #shopDetailPage
    .dv-shipping-method-info
    p:last-child {
    font-weight: 700;
  }

  #shopDetailPage #dolce-itemdetail-sp,
  #shopDetailPage #review-apps,
  #shopDetailPage .dv-item-info-links {
    position: relative;
    margin-top: 28px !important;
    padding-top: 24px !important;
  }

  #shopDetailPage .dv-item-info-links {
    border-top: 0 !important;
    padding-top: 10px !important;
  }

  #shopDetailPage #dolce-itemdetail-sp {
    margin-top: 10px !important;
  }

  #shopDetailPage #dolce-itemdetail-sp::before,
  #shopDetailPage #review-apps::before {
    position: absolute;
    top: 0;
    left: var(--dv-section-left, 0);
    width: 100vw;
    height: 10px;
    background: #f1f1f1;
    content: "";
    pointer-events: none;
  }

  #shopDetailPage .dv-item-info-links::before {
    position: absolute;
    top: 0;
    left: var(--dv-section-left, 0);
    width: 100vw;
    height: 10px;
    background: #f1f1f1;
    content: "";
    pointer-events: none;
  }

}

.dv-slide-counter {

    color: rgba(255, 255, 255);
    background: rgba(0, 0, 0, .6);

}

.itempage-item__mainImage .flickity-prev-next-button {
    width: 36px;
    height: 36px;
    background: rgba(0, 0, 0, .2);
}
.itempage-item__mainImage .flickity-button-icon {
    fill: rgba(255, 255, 255, .7);
}
#preview-modal .dv-icon {
    color: #fff;
}
.itempage-item__mainImage .flickity-button:hover {
    background: rgba(0, 0, 0, .2);
}
.flickity-button:disabled {
    display: none;
}
#preview-modal {
    position: absolute;
    width: 34px;
    height: 34px;
    left: 10px;
    bottom: 13px;
    color: rgba(255, 255, 255, .7);
    opacity: 1;
    z-index: 1;
    padding: 7px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, .3);
}
