/* GatePRODUCTION v5.8.9 — WooCommerce purchase stability fix */
.gate-cinematic-product-form .variations {
  margin: 1.8rem 0 1.25rem;
}
.gate-cinematic-product-form .variations tr,
.gate-cinematic-product-form .variations th,
.gate-cinematic-product-form .variations td {
  display: block;
  width: 100%;
}
.gate-cinematic-product-form .variations th.label {
  margin: 0 0 .7rem;
  padding: 0;
  text-align: left;
}
.gate-cinematic-product-form .variations th.label label {
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.gate-native-variation-select {
  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;
}
.gate-size-options {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 0 0 .8rem;
}
.gate-size-option {
  min-width: 58px;
  height: 48px;
  padding: 0 1rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 3px;
  background: rgba(255,255,255,.035);
  color: #fff;
  font: inherit;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .08em;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.gate-size-option:hover,
.gate-size-option:focus-visible {
  border-color: #ed1b2f;
  transform: translateY(-2px);
  outline: none;
  box-shadow: 0 8px 24px rgba(237,27,47,.2);
}
.gate-size-option.is-selected {
  border-color: #ed1b2f;
  background: linear-gradient(135deg,#c40f23,#ed1b2f);
  box-shadow: 0 0 0 1px rgba(237,27,47,.35), 0 12px 28px rgba(237,27,47,.25);
}
.gate-size-option:disabled {
  opacity: .35;
  cursor: not-allowed;
  text-decoration: line-through;
}
.gate-cinematic-product-form .reset_variations {
  display: inline-flex;
  margin-top: .2rem;
  color: rgba(255,255,255,.62);
  font-size: .75rem;
  letter-spacing: .08em;
}
.gate-cinematic-product-form .single_variation_wrap .woocommerce-variation-availability {
  margin: .85rem 0;
}
.gate-cinematic-product-form .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: .8rem;
  margin-top: 1rem;
}
.gate-quantity-control {
  display: inline-grid !important;
  grid-template-columns: 44px 58px 44px;
  align-items: stretch;
  min-height: 54px;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.035);
}
.gate-quantity-control .qty {
  width: 58px !important;
  height: 52px !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid rgba(255,255,255,.13) !important;
  border-right: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  text-align: center;
  font-size: 1rem;
  font-weight: 800;
  appearance: textfield;
}
.gate-quantity-control .qty::-webkit-inner-spin-button,
.gate-quantity-control .qty::-webkit-outer-spin-button { appearance: none; margin: 0; }
.gate-qty-button {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 1.3rem;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.gate-qty-button:hover,
.gate-qty-button:focus-visible {
  background: rgba(237,27,47,.18);
  color: #ff4053;
  outline: none;
}
.gate-cinematic-product-form .single_add_to_cart_button {
  position: relative;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  align-items: center;
  min-width: 235px;
  min-height: 54px;
  padding: .7rem 1.25rem !important;
  overflow: hidden;
  border: 1px solid #ed1b2f !important;
  border-radius: 3px !important;
  background: linear-gradient(135deg,#b90c20,#ed1b2f) !important;
  color: #fff !important;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(237,27,47,.2);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.gate-cinematic-product-form .single_add_to_cart_button::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 38%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transition: left .55s ease;
}
.gate-cinematic-product-form .single_add_to_cart_button:hover::before { left: 125%; }
.gate-cinematic-product-form .single_add_to_cart_button:hover,
.gate-cinematic-product-form .single_add_to_cart_button:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 17px 38px rgba(237,27,47,.3);
  outline: none;
}
.gate-cinematic-product-form .single_add_to_cart_button.disabled,
.gate-cinematic-product-form .single_add_to_cart_button:disabled {
  opacity: .38 !important;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.gate-cart-label { grid-column: 1; grid-row: 1; font-size: .96rem; font-weight: 800; }
.gate-cart-sub { grid-column: 1; grid-row: 2; font-size: .58rem; letter-spacing: .18em; opacity: .72; }
.gate-cart-arrow { grid-column: 2; grid-row: 1 / span 2; font-size: 1.25rem; transition: transform .2s ease; }
.single_add_to_cart_button:hover .gate-cart-arrow { transform: translateX(4px); }

@media (max-width: 600px) {
  .gate-size-options { gap: .5rem; }
  .gate-size-option { min-width: 52px; height: 44px; padding: 0 .8rem; }
  .gate-cinematic-product-form .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: auto 1fr; }
  .gate-cinematic-product-form .single_add_to_cart_button { min-width: 0; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .gate-size-option,
  .gate-cinematic-product-form .single_add_to_cart_button,
  .gate-cart-arrow { transition: none !important; }
  .gate-cinematic-product-form .single_add_to_cart_button::before { display: none; }
}

/* GatePRODUCTION v5.8.6 — premium interaction polish */
.gate-size-option {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(255,255,255,.34);
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.gate-size-option::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -1px;
  opacity: 0;
  background: radial-gradient(circle at 50% 130%,rgba(237,27,47,.62),transparent 67%);
  transition: opacity .22s ease;
}
.gate-size-option::after {
  content: '';
  position: absolute;
  top: 5px;
  right: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff;
  opacity: 0;
  transform: scale(.2);
  box-shadow: 0 0 10px rgba(255,255,255,.9),0 0 18px rgba(237,27,47,.8);
  transition: opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1);
}
.gate-size-option:hover::before,
.gate-size-option:focus-visible::before,
.gate-size-option.is-selected::before { opacity: 1; }
.gate-size-option.is-selected {
  transform: translateY(-2px) scale(1.055);
  border-color: #ff3045;
  background: linear-gradient(135deg,#8e0717 0%,#ed1b2f 62%,#ff3d50 100%);
  box-shadow:
    0 0 0 1px rgba(255,71,88,.52),
    0 0 18px rgba(237,27,47,.48),
    0 14px 32px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.22);
}
.gate-size-option.is-selected::after { opacity: 1; transform: scale(1); }
.gate-size-option.is-pressing { animation: gateOptionSnap .26s ease; }
@keyframes gateOptionSnap {
  0% { transform: translateY(-2px) scale(1.055); }
  45% { transform: translateY(-2px) scale(.97); }
  100% { transform: translateY(-2px) scale(1.055); }
}

.gate-quantity-control {
  position: relative;
  overflow: hidden;
  border-color: rgba(255,255,255,.3);
  background: linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.018));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.18);
}
.gate-quantity-control::after {
  content: 'QUANTITY';
  position: absolute;
  left: 50%;
  bottom: 3px;
  transform: translateX(-50%);
  color: rgba(255,255,255,.42);
  font-size: .42rem;
  font-weight: 800;
  letter-spacing: .16em;
  pointer-events: none;
}
.gate-quantity-control .qty { padding-bottom: 7px !important; }
.gate-qty-button {
  position: relative;
  font-weight: 300;
}
.gate-qty-button::after {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid transparent;
  transition: border-color .2s ease,box-shadow .2s ease;
}
.gate-qty-button:hover::after,
.gate-qty-button:focus-visible::after {
  border-color: rgba(237,27,47,.55);
  box-shadow: 0 0 12px rgba(237,27,47,.18);
}
.gate-quantity-control.is-changing { animation: gateQtyPulse .25s ease; }
@keyframes gateQtyPulse {
  50% { border-color: #ed1b2f; box-shadow: 0 0 18px rgba(237,27,47,.28); }
}

.gate-cinematic-product-form .single_add_to_cart_button {
  min-width: 270px;
  border-color: rgba(255,71,88,.92) !important;
  background:
    linear-gradient(115deg,#7f0615 0%,#c80e25 38%,#ed1b2f 72%,#ff4053 100%) !important;
  box-shadow:
    0 0 0 1px rgba(237,27,47,.2),
    0 16px 36px rgba(0,0,0,.34),
    0 0 24px rgba(237,27,47,.22),
    inset 0 1px 0 rgba(255,255,255,.2);
}
.gate-cinematic-product-form .single_add_to_cart_button::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 4px;
  border: 1px solid rgba(255,255,255,.13);
  pointer-events: none;
  transition: border-color .25s ease,box-shadow .25s ease;
}
.gate-cinematic-product-form .single_add_to_cart_button:hover,
.gate-cinematic-product-form .single_add_to_cart_button:focus-visible {
  transform: translateY(-3px) scale(1.012);
  box-shadow:
    0 0 0 1px rgba(255,68,87,.4),
    0 22px 46px rgba(0,0,0,.42),
    0 0 34px rgba(237,27,47,.4),
    inset 0 1px 0 rgba(255,255,255,.24);
}
.gate-cinematic-product-form .single_add_to_cart_button:hover::after,
.gate-cinematic-product-form .single_add_to_cart_button:focus-visible::after {
  border-color: rgba(255,255,255,.28);
  box-shadow: inset 0 0 16px rgba(255,255,255,.045);
}
.gate-cart-label {
  font-size: 1.02rem;
  letter-spacing: .12em;
  text-shadow: 0 1px 16px rgba(0,0,0,.3);
}
.gate-cart-sub { letter-spacing: .25em; }
.gate-cart-arrow {
  font-size: 1.4rem;
  filter: drop-shadow(0 0 5px rgba(255,255,255,.42));
}
.single_add_to_cart_button:hover .gate-cart-arrow { transform: translateX(7px); }
.gate-cinematic-product-form .single_add_to_cart_button.is-pressing { animation: gateCartPress .3s ease; }
@keyframes gateCartPress {
  45% { transform: translateY(-1px) scale(.985); }
}

@media (prefers-reduced-motion: reduce) {
  .gate-size-option.is-pressing,
  .gate-quantity-control.is-changing,
  .gate-cinematic-product-form .single_add_to_cart_button.is-pressing { animation: none !important; }
}


/* GatePRODUCTION v5.8.7 — corrected quantity control order and symmetric feedback */
.gate-quantity-control .gate-qty-minus { grid-column: 1; grid-row: 1; }
.gate-quantity-control .qty { grid-column: 2; grid-row: 1; }
.gate-quantity-control .gate-qty-plus { grid-column: 3; grid-row: 1; }
.gate-qty-button.is-changing::after {
  border-color: #ed1b2f;
  box-shadow: 0 0 14px rgba(237,27,47,.38), inset 0 0 8px rgba(237,27,47,.12);
}
.gate-qty-button.is-changing {
  color: #ff4053;
  background: rgba(237,27,47,.14);
  animation: gateQtyButtonPulse .25s ease;
}
@keyframes gateQtyButtonPulse {
  50% { transform: scale(.94); }
}
@media (prefers-reduced-motion: reduce) {
  .gate-qty-button.is-changing { animation: none !important; }
}

.gate-quantity-control, .gate-quantity-control * { animation: none !important; transform: none; }
.gate-qty-button.is-changing { background: rgba(237,27,47,.22); color:#fff; }

/* GatePRODUCTION v5.9.3 — quantity controls and purchase path stability */
.gate-quantity-control {
  grid-template-columns: 54px 64px 54px !important;
  min-height: 58px !important;
  overflow: visible !important;
}
.gate-quantity-control .qty {
  width: 64px !important;
  height: 56px !important;
  padding: 0 !important;
}
.gate-qty-button {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  min-width: 54px !important;
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.045) !important;
  color: #fff !important;
  font-size: 1.55rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transform: none !important;
  animation: none !important;
  overflow: hidden !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.gate-qty-button::before,
.gate-qty-button::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  transition: none !important;
}
.gate-qty-button:hover,
.gate-qty-button:focus-visible {
  background: rgba(237,27,47,.24) !important;
  color: #fff !important;
  outline: 2px solid rgba(237,27,47,.7) !important;
  outline-offset: -2px !important;
  box-shadow: none !important;
  transform: none !important;
}
.gate-qty-button:disabled {
  opacity: .32 !important;
  cursor: not-allowed !important;
}
.gate-qty-button.is-changing,
.gate-quantity-control.is-changing {
  animation: none !important;
}
.gate-cinematic-product-form .single_add_to_cart_button::before {
  display: none !important;
  content: none !important;
}
@media (max-width: 600px) {
  .gate-quantity-control {
    width: 100% !important;
    grid-template-columns: 58px 1fr 58px !important;
  }
  .gate-quantity-control .qty {
    width: 100% !important;
  }
  .gate-qty-button {
    width: 58px !important;
    min-width: 58px !important;
  }
}


/* GatePRODUCTION v5.9.4 — 最小数量時も「－」へ禁止カーソルを表示しない */
.gate-qty-minus,
.gate-qty-minus[aria-disabled="true"] {
  cursor: pointer !important;
  opacity: 1 !important;
}
.gate-qty-minus[aria-disabled="true"] {
  color: rgba(255,255,255,.55) !important;
  background: rgba(255,255,255,.025) !important;
}


/* GatePRODUCTION v5.9.5 — symmetric quantity hover and clear purchase affordance */
.gate-qty-button,
.gate-qty-minus,
.gate-qty-plus,
.gate-qty-minus[aria-disabled="true"] {
  cursor: pointer !important;
}
.gate-qty-minus:hover,
.gate-qty-minus:focus-visible,
.gate-qty-minus[aria-disabled="true"]:hover,
.gate-qty-minus[aria-disabled="true"]:focus-visible,
.gate-qty-plus:hover,
.gate-qty-plus:focus-visible {
  background: rgba(237,27,47,.24) !important;
  color: #fff !important;
  outline: 2px solid rgba(237,27,47,.7) !important;
  outline-offset: -2px !important;
}
.gate-cinematic-product-form .single_add_to_cart_button,
.gate-cinematic-product-form .single_add_to_cart_button:not(:disabled),
.woocommerce a.button,
.gate-cart-link {
  cursor: pointer !important;
}
\n\n/* GatePRODUCTION v5.9.6 — unambiguous purchase-button pointer */
.gate-cinematic-product-form .single_add_to_cart_button,
.gate-cinematic-product-form .single_add_to_cart_button *,
form.cart .single_add_to_cart_button,
form.cart .single_add_to_cart_button * {
  cursor: pointer !important;
}
.gate-cinematic-product-form .single_add_to_cart_button.disabled,
.gate-cinematic-product-form .single_add_to_cart_button:disabled,
form.cart .single_add_to_cart_button.disabled,
form.cart .single_add_to_cart_button:disabled {
  cursor: not-allowed !important;
}
