/* Shared by the seven product templates only. Data and gallery JS hooks stay product-specific. */
@font-face{font-family:LWProduct;src:url('../fonts/v5-wix/noto-sans-jp-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:LWProduct;src:url('../fonts/xtool-f2-ultra-uv/noto-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:is(#main,#main-content) .lw-product-overview{height:auto;min-height:0;margin-bottom:0;padding:54px 32px 64px;background:#fff;color:#222}
.lw-product-overview .lw-product-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);align-items:start;gap:32px;width:100%;max-width:1320px;height:auto;margin:0 auto;transform:none}
.lw-product-layout .lw-gallery-column{min-width:0;padding:0}
.lw-product-layout .lw-product-details{position:static;display:block;min-width:0;width:100%;height:auto;margin:0;padding:0}
.lw-product-details>.g20-text,.lw-product-details>.v5-text{position:static;width:auto;height:auto;margin:0 0 18px;max-width:100%}
.lw-product-details>.g20-text{font-size:var(--font-size)}
.lw-product-details .lw-product-prices{margin-top:24px}
.lw-product-layout .lw-product-prices{position:static;display:grid;gap:14px;width:100%;height:auto;min-width:0;container-type:inline-size}
.lw-product-prices>h2{font-size:22px;line-height:1.5;margin:0}
.lw-product-prices .lw-price-card{box-sizing:border-box;position:relative;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;width:100%;min-width:0;min-height:0;height:auto;margin:0;padding:10px 12px;border:1px solid #ccc;border-radius:15px;background:#fff;color:#222}
.lw-price-card.lw-price-card,.lw-price-card.lw-price-card *{font-family:LWProduct,sans-serif!important;font-synthesis:none}
.lw-price-card .lw-price-info{min-width:0}
.lw-price-card .lw-price-info h3{margin:0;font-size:15px;font-weight:700!important;line-height:1.5;overflow-wrap:anywhere}
.lw-price-card .lw-price-content{margin:4px 0 0;font-size:12px;line-height:1.5;font-weight:500!important;overflow-wrap:anywhere}
.lw-price-card .lw-price-meta{position:static;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;min-width:0;margin:0;padding:0;text-align:right;line-height:1.6;white-space:normal}
.lw-price-card .lw-price-meta strong{display:block;margin:0;font-size:16px;font-weight:700!important;line-height:1.6;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.lw-price-card .lw-price-meta span{display:block;font-size:11px;font-weight:500!important;line-height:1.6;white-space:nowrap}
/* Stack the price when the panel, not merely the viewport, is narrow. */
@container (max-width:400px){.lw-product-prices .lw-price-card{grid-template-columns:minmax(0,1fr);gap:6px}.lw-price-card .lw-price-meta{align-items:flex-start;text-align:left}}
@media(max-width:1023px){
 .lw-product-overview .lw-product-layout{display:block;max-width:760px}
 .lw-product-layout .lw-gallery-column{padding:0}
 .lw-product-layout .lw-product-prices,.lw-product-layout .lw-product-details{margin-top:24px}
}
@media(max-width:800px){
 :is(#main,#main-content) .lw-product-overview{padding:28px 16px 32px}
}


/* The overview owns the boundary gap; remove duplicate source-page lead-in spacers only. */
.f2-page .lw-product-overview + #f2-jp-3 > div::before,
.p2s-page .lw-product-overview + #p2s-overview > [data-p2s-section="8"] > div::before{content:none!important;display:none!important;height:0!important}

.lw-product-details .lw-configuration-title{font-size:24px;font-weight:600!important;line-height:1.4;letter-spacing:normal;margin:0 0 10px;overflow-wrap:anywhere;word-break:keep-all;text-wrap:pretty;color:#333}
