/* Smartphone product purchase area. Desktop and checkout are unaffected. */
.productMobileQuantityLabel { display: none; }
.productDeliveryTime { display: block; margin-top: 20px; }
@media (max-width: 767px) {
    body.articleSite .productInStock { display: none; }
    body.articleSite .productDeliveryTime { margin-top: 0; }
    body.articleSite .productMobileQuantityLabel { display: inline; }
    body.articleSite .productDesktopQuantityLabel { display: none; }
    body.articleSite .articleOuterContainer,
    body.articleSite .articleMainContainer,
    body.articleSite .art_container,
    body.articleSite .art_info,
    body.articleSite .artInfoContainer { width: 100%; min-width: 0; box-sizing: border-box; }
    body.articleSite .articleMainContainer { display: block; max-width: 100%; }
    body.articleSite .art_container { display: flex; flex-direction: column; margin-top: 16px; align-items: stretch; }
    body.articleSite .art_images { width: 100%; min-width: 0; margin: 0 0 32px; overflow: hidden; }
    body.articleSite #art_image_main { width: 100%; }
    body.articleSite #art_image_main img { display: block; width: 100%; max-width: 460px; height: auto; max-height: 460px; object-fit: contain; margin: 0 auto; }
    body.articleSite .art_image_links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 0; }
    body.articleSite .art_image_links:has(> li:only-child) { display: none; }
    body.articleSite .art_image_link { margin: 0; width: 64px; height: 64px; line-height: 64px; }
    body.articleSite .art_image_link img { max-height: 64px; }
    body.articleSite .art_info { align-items: stretch; font-size: 14px; }
    body.articleSite .artInfoContainer { text-align: center; }
    body.articleSite .artInfoContainer h1.art_title { margin: 0 0 18px; text-align: center; font-size: clamp(23px, 6.4vw, 32px); line-height: 1.3; letter-spacing: normal; overflow-wrap: anywhere; }
    body.articleSite .artInfoContainer .subtitle { margin: 0; text-align: center; font-size: 14px; font-style: italic; line-height: 1.5; }
    /* Equal outer tracks keep the selector centered independently of price width. */
    body.articleSite .priceAndQuantityContainer { display: grid; grid-template-columns: minmax(0, 1fr) clamp(90px, 28vw, 140px) minmax(0, 1fr); align-items: end; gap: 8px; width: 100%; margin: 24px 0 0; }
    body.articleSite .quantityContainer { grid-column: 2; grid-row: 1; min-width: 0; width: 100%; }
    body.articleSite .quantityAndButton { display: block; margin: 0; }
    body.articleSite .art_quantity { width: 100%; margin: 0; }
    body.articleSite .quantityClaim { display: block; margin: 0 0 6px; font-size: 14px; line-height: 1.4; text-align: center; font-weight: 400; }
    body.articleSite .art_quantity select { display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: none; height: 50px; margin: 0; padding: 8px 26px 8px 8px; border: 1px solid #bdbdbd; border-radius: 0; background-color: #fff; color: #222; font: inherit; font-size: 22px; line-height: normal; text-align: center; text-align-last: center; }
    body.articleSite .priceContainer { grid-column: 3; grid-row: 1; min-width: 0; align-self: end; padding-bottom: 2px; text-align: right; }
    body.articleSite .priceLine { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; margin: 0; }
    body.articleSite .priceLine .price { margin: 0; font-size: clamp(23px, 6.6vw, 30px); font-weight: 500; line-height: 1.15; white-space: nowrap; }
    body.articleSite .priceLine .oldPrice { position: static; margin: 3px 0 0; font-size: 12px; white-space: nowrap; }
    body.articleSite .priceContainer .compareprice { margin: 5px 0 0; font-size: clamp(10px, 2.8vw, 13px); line-height: 1.35; overflow-wrap: anywhere; }
    body.articleSite .priceContainer .productUnitPrice.hasBasePrice { display: none; }
    body.articleSite .taxTransportHint { margin: 28px 0 12px; font-size: 13px; line-height: 1.5; text-align: center; }
    body.articleSite .taxTransportHint a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
    body.articleSite .art_cartbutton { width: 100%; margin: 0; }
    body.articleSite .art_cartbutton .addToCartButton { display: block; box-sizing: border-box; width: 100%; height: auto; min-height: 50px; margin: 0; padding: 14px 12px; background: var(--main-color-red1, #a56263); color: #fff; font-size: 20px; line-height: 1.3; text-align: center; }
    body.articleSite .art_cartbutton .addToCartButton:hover { background: var(--main-color-special, #8b181c); }
    body.articleSite .art_quantity select:focus-visible,
    body.articleSite .taxTransportHint a:focus-visible { outline: 2px solid var(--main-color-highlight, #ae1f24); outline-offset: 3px; }
}
