/* 隠しフォーム */
.wcrp-rental-products-rental-form {
    position: fixed !important;
    top: -10000px !important;
    left: -10000px !important;
    opacity: 0 !important;
}
.thwepo-extra-options{
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    position: fixed !important;
    top: -10000px !important;
    left: -10000px !important;
    opacity: 0 !important;
}

.aicolle-rental-disabled {
    opacity: .3;
    /* pointer-events: none; */
}
.aicolle-warehouse-selector {
    display: none !important;
}

/* -------------------------- */

/* 商品画像 */
#mainProductImage {
    transition: opacity 0.2s ease;
}

#mainProductImage.fade-out {
    opacity: 0;
}

.product-main-image {
  position: relative;
}

@media screen and (min-width: 1024px) {

    .product-thumbnails {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        gap: 8px;
    }

    .product-thumbnails .thumb {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    .zoom-wrap {
        position: relative;
    }

    .zoom-btn {
        position: absolute;
        bottom: 10px;
        left: 10px;
        z-index: 10;
        background: rgba(0, 0, 0, .6);
        color: #fff;
        border: none;
        border-radius: 50%;
        width: 38px;
        height: 38px;
        cursor: pointer;
    }

    .zoom-lens {
        position: absolute;
        border: 2px solid #333;
        width: 120px;
        height: 120px;
        display: none;
        pointer-events: none;
        background-repeat: no-repeat;
        z-index: 9;
    }
}

/* 動画サムネイル */
.product-thumbnails .thumb--video {
    width: 100%;
    aspect-ratio: 1 / 1;   /* ← 画像.thumbと揃える */
    position: relative;
    overflow: hidden;
}

/* 中の video を img と同じ見た目に */
.product-thumbnails .thumb--video > .thumb__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.product-main-image img,
.product-main-image video {
  transition: opacity .25s ease;
}
.fade-out { opacity: 0; }

.product-thumbnails .thumb--video::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 2;

  border-radius: 999px;
  box-shadow: 0 2px 10px rgba(0,0,0,.35);

  /* 白丸の上に三角（SVG） */
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpolygon points='19,14 19,30 32,22' fill='%23000' fill-opacity='0.85'/%3E%3C/svg%3E")
      center/24px 24px no-repeat,
    rgba(255,255,255,.9);
}

.product-thumbnails .thumb--video::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.5);
  pointer-events:none;
  z-index: 1;
}

/* お気に入り */
.product-main-image .wishlist-float {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 20;
}

.product-main-image .wishlist-float a,
.product-main-image .wishlist-float button {
  border-radius: 999px;
}

/* YITHの文字などが邪魔なら最小化 */
.product-main-image .wishlist-float .yith-wcwl-add-to-wishlist {
  margin: 0;
}
.product-main-image .yith-wcwl-add-to-wishlist-button__label{
    display: none;
}

/* オプション */
#ui_pack,
.thwepof-input-field,
.req-check {
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: chdir !important;
    display: inline-block !important;
}
.pack_table th:first-child{
    width: 150px;
}
.pack_table td:first-child{
    text-align: center;
}

.rental-picker {
  margin-top: 10px;
}

.rental-picker input[type="date"] {
  padding: 8px;
  font-size: 14px;
}

/* レンタル日カレンダー */
#rp-ui { width: 100%; }
.rp-cal { width: 100%; }
.rp-head { display:flex; align-items:center; gap:12px; }
.rp-monthLabel { font-weight:600; }
.rp-dow, .rp-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:4px; }
.rp-dow > div { text-align:center; font-size:12px; }
.rp-cell { border:1px solid #ddd; background:#fff; text-align:center; padding:6px; }
.rp-cell--empty { border:0; background:transparent; }
.rp-day { font-size:12px; }
.rp-cellPrice { font-size:11px; opacity:.7; margin-top:6px; }
.is-start, .is-end { outline:2px solid #333; }
.is-inrange { background: #f3f3f3; }
.rp-row { display:flex; justify-content:space-between; margin-top:8px; }
.rp-controls { display:flex; gap:12px; margin-top:12px; }
.rp-actions { margin-top:12px; }
.rp-empty { border-top:1px solid #eee; }

/* 不要な表示 */
.itemcustom-cta .stock{display: none;}