/* Shared WooCommerce product card styles split from root style.css. */
.sc-card { position:relative; display:flex; flex-direction:column; min-width:0; min-height:100%; background:var(--sc-card-bg); border:1px solid var(--sc-card-border); border-radius:var(--sc-card-radius); overflow:hidden; box-shadow:var(--sc-card-shadow); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.sc-card:hover { transform:translateY(-6px); box-shadow:0 24px 54px rgba(15, 23, 42, .12); }
.sc-card .sc-card-media { position:relative; aspect-ratio:1 / .94; background:var(--sc-card-image-bg); overflow:hidden; border-radius:0 0 var(--sc-card-image-radius) var(--sc-card-image-radius); }
.sc-card .sc-thumb { display:block; width:100%; height:100%; border-radius:inherit; overflow:hidden; }
.sc-card .sc-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.sc-card:hover .sc-thumb img { transform:scale(1.04); }
.sc-card .sc-card-badge { position:absolute; top:14px; left:14px; z-index:2; min-height:28px; padding:0 12px; border-radius:999px; display:inline-flex; align-items:center; background:var(--sc-card-label-bg); color:var(--sc-card-label-text); font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; box-shadow:0 10px 28px rgba(15, 23, 42, .10); }
.sc-card .sc-card-tools { position:absolute; top:14px; right:14px; z-index:2; display:grid; gap:10px; }
.sc-card .sc-card-action { width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; background:var(--sc-card-action-bg); color:var(--sc-card-action-icon); border:0; box-shadow:var(--sc-card-action-shadow); cursor:pointer; transition:transform .2s ease, opacity .2s ease, background-color .2s ease; }
.sc-card .sc-card-action:hover { transform:translateY(-2px); opacity:.95; }
.sc-card .sc-card-action:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.sc-card .sc-card-action--wishlist { background:var(--sc-card-wishlist-bg); color:var(--sc-card-wishlist-icon); border-color:var(--sc-card-wishlist-border); }
.sc-card .sc-card-action--quick { background:var(--sc-card-quick-bg); color:var(--sc-card-quick-icon); border-color:var(--sc-card-quick-border); }
.sc-card .sc-card-action--video { background:var(--sc-card-video-bg); color:var(--sc-card-video-icon); border-color:var(--sc-card-video-border); }
.sc-card .sc-card-body { display:flex; flex-direction:column; gap:14px; padding:16px; flex:1; }
.sc-card .sc-card-copy { display:grid; gap:6px; }
.sc-card .sc-card-category { color:var(--sc-card-category); font-size:.68rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.sc-card .sc-title { color:var(--sc-card-title); text-decoration:none; font-size:clamp(.8rem, .74rem + .24vw, .875rem); font-weight:500; line-height:1.38; letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.76em; }
.sc-card .sc-title:hover { opacity:.9; }
.sc-card .sc-card-price-block { display:grid; gap:8px; padding-top:12px; border-top:1px solid rgba(148, 163, 184, .18); }
.sc-card .sc-card-price-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; }
.sc-card .sc-card-price-current { color:var(--sc-card-price); font-size:clamp(1.02rem, .92rem + .52vw, 1.25rem); line-height:1.1; font-weight:500; letter-spacing:-.022em; }
.sc-card .sc-card-price-current .amount { color:inherit; }
.sc-card .sc-card-price-compare { color:var(--sc-card-compare); text-decoration:line-through; font-size:.82rem; font-weight:400; }
.sc-card .sc-card-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.sc-card .sc-card-chip { min-height:34px; padding:0 12px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; font-size:.81rem; font-weight:600; }
.sc-card .sc-card-chip small { font-size:.82em; color:inherit; opacity:.62; }
.sc-card .sc-card-chip--sale { background:var(--sc-card-sale-bg); color:var(--sc-card-sale-text); }
.sc-card .sc-card-chip--rating { margin-left:auto; background:var(--sc-card-rating-bg); color:var(--sc-card-rating-text); border:1px solid var(--sc-card-rating-border); }
.sc-card .sc-card-chip--rating svg { color:#f59e0b; }
.sc-card .sc-card-buttons { display:grid; grid-template-columns:56px minmax(0, 1fr); gap:8px; margin-top:auto; padding-top:14px; border-top:1px solid rgba(148, 163, 184, .18); }
.sc-card .sc-card-buttons.sc-card-buttons--stockout { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.sc-card .sc-card-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; border-radius:16px; text-decoration:none; padding:10px 12px; font-size:.88rem; font-weight:600; letter-spacing:0; transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease; }
.sc-card .sc-card-button:hover { transform:translateY(-1px); }
.sc-card .sc-card-button:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.sc-card .sc-card-button--primary { background:var(--sc-card-primary-bg); color:var(--sc-card-primary-text); border:1px solid var(--sc-card-primary-bg); box-shadow:0 14px 28px rgba(17, 24, 39, .12); }
.sc-card .sc-card-button--icon { padding-inline:0; }
.sc-card .sc-card-button--secondary { background:var(--sc-card-secondary-bg); color:var(--sc-card-secondary-text); border:1px solid var(--sc-card-secondary-border); }
.sc-card .sc-card-button--secondary svg { color:var(--sc-card-wa); flex:0 0 auto; }
.sc-card .sc-card-button--secondary span { white-space:nowrap; }
.sc-card .sc-card-button__icon { flex:0 0 auto; }
.sc-card .sc-card-button--soldout { background:#f3f4f6; color:#6b7280; border:1px solid #e5e7eb; box-shadow:none; cursor:not-allowed; text-align:center; line-height:1.2; }
.sc-card .sc-card-buttons .added_to_cart.wc-forward,
.sc-card .sc-card-buttons .added_to_cart.wc-forward { display:none !important; }
.sc-card--category { border-radius:20px; border:1px solid var(--sc-card-border); background:var(--sc-card-bg); box-shadow:var(--sc-card-shadow); }
.sc-card--category:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(7, 20, 47, .11); }
.sc-card--category .sc-card-media { min-height:clamp(248px, 18vw, 292px); height:clamp(248px, 18vw, 292px); padding:18px 18px 14px; background:var(--sc-card-image-bg); border-radius:20px 20px 0 0; border-bottom:1px solid var(--sc-card-border); }
.sc-card--category .sc-thumb { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.sc-card--category .sc-thumb img { width:100%; height:100%; object-fit:contain; object-position:center center; }
.sc-card--category .ye-product-gallery { position:relative; display:block; width:100%; height:100%; }
.sc-card--category .ye-gallery-track { position:relative; display:block; width:100%; height:100%; }
.sc-card--category .ye-gallery-image { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center center; opacity:0; visibility:hidden; transform:translateX(8px); transition:opacity .24s ease, transform .24s ease, visibility .24s ease; }
.sc-card--category .ye-gallery-image.is-active { opacity:1; visibility:visible; transform:translateX(0); }
.sc-card--category .ye-gallery-nav { position:absolute; inset:auto 14px 14px 14px; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; pointer-events:none; }
.sc-card--category .ye-gallery-arrow { position:relative; z-index:1; width:34px; height:34px; margin:0; padding:0; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; border:1px solid var(--sc-card-border); background:var(--sc-card-action-bg); color:var(--sc-card-action-icon); box-shadow:0 8px 18px rgba(7, 20, 47, .08); cursor:pointer; pointer-events:auto; transition:background-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease; }
.sc-card--category .ye-gallery-arrow:hover { background:var(--sc-card-action-icon); color:var(--sc-card-action-bg); box-shadow:0 12px 24px rgba(51, 62, 72, .16); transform:translateY(-1px) scale(1.02); }
.sc-card--category .ye-gallery-arrow:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.sc-card--category .sc-card-badges { position:absolute; top:14px; left:14px; z-index:2; display:grid; gap:8px; align-content:start; }
.sc-card--category .sc-card-capacity { min-height:30px; padding:0 12px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:var(--sc-card-label-bg); color:var(--sc-card-label-text); font-size:.78rem; font-weight:700; line-height:1; letter-spacing:.01em; box-shadow:0 8px 18px rgba(51, 62, 72, .18); }
.sc-card--category .sc-card-sale-badge { min-height:30px; padding:0 10px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:4px; background:var(--sc-card-sale-bg); color:var(--sc-card-sale-text); text-align:center; box-shadow:0 6px 16px rgba(201, 37, 28, .14); }
.sc-card--category .sc-card-sale-badge strong { display:block; font-size:.76rem; line-height:1; font-weight:800; letter-spacing:-.01em; }
.sc-card--category .sc-card-sale-badge small { display:block; font-size:.68rem; line-height:1; font-weight:700; letter-spacing:.02em; }
.sc-card--category .sc-card-tools { top:14px; right:14px; gap:10px; }
.sc-card--category .sc-card-action { width:44px; height:44px; border:1px solid var(--sc-card-border); background:var(--sc-card-action-bg); color:var(--sc-card-action-icon); box-shadow:0 8px 20px rgba(7, 20, 47, .08); }
.sc-card--category .sc-card-action:hover { background:#f9fbff; }
.sc-card--category .sc-card-action--wishlist { background:var(--sc-card-wishlist-bg); color:var(--sc-card-wishlist-icon); border-color:var(--sc-card-wishlist-border); }
.sc-card--category .sc-card-action--quick { background:var(--sc-card-quick-bg); color:var(--sc-card-quick-icon); border-color:var(--sc-card-quick-border); }
.sc-card--category .sc-card-action--video { background:var(--sc-card-video-bg); color:var(--sc-card-video-icon); border-color:var(--sc-card-video-border); }
.sc-card--category .sc-card-body { gap:12px; padding:16px 18px 18px; }
.sc-card--category .sc-card-copy { gap:6px; }
.sc-card--category .sc-card-brand { color:var(--sc-card-category); font-size:.88rem; font-weight:600; line-height:1.25; }
.sc-card--category .sc-title { color:var(--sc-card-title); font-size:clamp(.88rem, .84rem + .18vw, .94rem); font-weight:700; line-height:1.42; letter-spacing:-.015em; -webkit-line-clamp:2; min-height:2.84em; }
.sc-card--category .sc-title:hover { color:var(--sc-card-title); }
.sc-card--category .sc-card-rating-row,
.sc-card--category .star-rating,
.sc-card--category .woocommerce-review-link { display:none !important; }
.sc-card--category .sc-card-price-block { gap:0; padding-top:2px; border-top:0; }
.sc-card--category .sc-card-price-line { gap:8px; align-items:baseline; flex-wrap:nowrap; }
.sc-card--category .sc-card-price-current { color:var(--sc-card-price); font-size:clamp(1.04rem, .96rem + .24vw, 1.16rem); line-height:1.08; font-weight:700; letter-spacing:-.024em; white-space:nowrap; }
.sc-card--category .sc-card-price-compare { color:var(--sc-card-compare); text-decoration:line-through; font-size:.84rem; font-weight:500; white-space:nowrap; }
.sc-card--category .ye-mobile-summary { display:none; width:100%; max-width:100%; margin:8px 0 0; color:#5f6b7d; font-size:.78rem; line-height:1.48; overflow:hidden; }
.sc-card--category .ye-mobile-summary--list { padding:0 !important; margin:0 !important; list-style:none !important; }
.sc-card--category .ye-mobile-summary--list li,
.sc-card--category .ye-mobile-summary__item { display:-webkit-box; width:100%; max-width:100%; margin:0 !important; padding:0; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.sc-card--category .ye-mobile-summary--list li + li,
.sc-card--category .ye-mobile-summary__item + .ye-mobile-summary__item { margin-top:5px !important; }
.sc-card--category .ye-mobile-summary--text { display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical; }
.sc-card--category .sc-card-buttons { grid-template-columns:1fr; gap:10px; margin-top:auto; padding-top:4px; border-top:0; }
.sc-card--category .sc-card-button { min-height:44px; border-radius:12px; padding:11px 16px; font-size:.88rem; font-weight:600; }
.sc-card--category .sc-card-button--primary { background:var(--sc-card-primary-bg); border-color:var(--sc-card-primary-bg); color:var(--sc-card-primary-text); box-shadow:none; }
.sc-card--category .sc-card-button--primary:hover { background:var(--sc-card-primary-bg); border-color:var(--sc-card-primary-bg); filter:brightness(.92); }
.sc-card--category .sc-card-button--secondary { background:var(--sc-card-secondary-bg); color:var(--sc-card-secondary-text); border:1px solid var(--sc-card-secondary-border); }
.sc-card--category .sc-card-button--secondary svg { color:var(--sc-card-wa); }
.sc-card--category .sc-card-button--secondary span { font-weight:600; }
.sc-card--category .ye-wa-label--short { display:none; }
.sc-card--category .sc-card-button--soldout { min-height:44px; border-radius:12px; background:#f4f7fb; color:#6b7280; border:1px solid #dfe6ef; }
@media (max-width: 991px) {
  .sc-card .sc-card-body { padding:15px; gap:13px; }
  .sc-card .sc-card-buttons.sc-card-buttons--stockout { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .sc-card .sc-card-button { min-height:44px; padding-inline:10px; font-size:.84rem; }
}
@media (max-width: 767px) {
  .sc-card .sc-card-badge { top:12px; left:12px; min-height:26px; padding-inline:10px; font-size:.63rem; }
  .sc-card .sc-card-tools { top:12px; right:12px; gap:8px; }
  .sc-card .sc-card-action { width:40px; height:40px; }
  .sc-card .sc-card-category { letter-spacing:.16em; font-size:.64rem; }
  .sc-card .sc-title { font-size:.8rem; line-height:1.36; }
  .sc-card .sc-card-price-current { font-size:1.08rem; }
  .sc-card .sc-card-price-compare { font-size:.78rem; }
  .sc-card .sc-card-chip { min-height:32px; padding-inline:10px; font-size:.77rem; font-weight:600; }
  .sc-card .sc-card-button { min-height:42px; font-size:.8rem; }
}

