

.product-page-body {
    background-color: #ffffff;
    color: #1d1d1f;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    padding-top: 44px;
}

.product-main section {
    padding: 80px 20px;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}

.sec-hero { text-align: center; padding-top: 40px !important; }
.hero-image-wrap img { width: 100%; max-width: 800px; height: auto; margin-bottom: 30px; }
.product-name { font-size: 4rem; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 10px 0; }
.hero-catchphrase { font-size: 2.5rem; font-weight: 600; margin: 0 0 15px 0; }
.hero-subtext { font-size: 1.2rem; color: #86868b; margin: 0; }
.hero-action { margin-top: 30px; display: flex; flex-direction: column; align-items: center; gap: 20px; }
.hero-price { font-size: 1.2rem; font-weight: 600; color: #1d1d1f; margin: 0; }
.hero-buy-btn { font-size: 1.1rem; padding: 12px 32px; }

.sec-slider { position: relative; }
.section-title.left-align { text-align: left; font-size: 2.5rem; font-weight: 700; margin-bottom: 40px; }
.product-swiper { position: relative; width: 100%; border-radius: 20px; overflow: hidden; }
.product-swiper .swiper-slide { width: 80%; height: 500px; position: relative; border-radius: 20px; overflow: hidden; background: #f5f5f7; }
.product-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
.slide-text { position: absolute; top: 30px; left: 30px; font-size: 1.5rem; font-weight: 700; color: #fff; margin: 0; text-shadow: 0 2px 10px rgba(0,0,0,0.3); }

.sec-large-text { text-align: center; }
.huge-title { font-size: 4rem; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 40px; }
.large-image-wrap { width: 90%; max-width: 700px; margin: 0 auto 40px auto; border-radius: 20px; overflow: hidden; }
.large-image-wrap img { width: 100%; height: auto; display: block; margin-bottom: 0; }
.centered-text-block { width: 100%; max-width: 600px; margin: 0 auto; text-align: left; }
.centered-text-block p { font-size: 1.1rem; line-height: 1.6; color: #1d1d1f; }

.sec-basic { text-align: center; }
.basic-image-wrap img { width: 100%; border-radius: 20px; margin-bottom: 20px; }
.basic-text { font-size: 1.2rem; color: #86868b; }

.sec-centered { text-align: center; }
.sec-centered h2 { font-size: 3rem; font-weight: 700; margin-bottom: 20px; }
.sec-centered p { font-size: 1.2rem; color: #86868b; max-width: 600px; margin: 0 auto; }

.sec-feature-list { padding-top: 60px; padding-bottom: 80px; }

@media (max-width: 768px) {
    .product-name, .huge-title { font-size: 2.5rem; }
    .hero-catchphrase, .section-title.left-align, .sec-centered h2 { font-size: 2rem; }
    .product-swiper .swiper-slide { width: 90%; height: 400px; }
}

@media (hover: hover) and (pointer: fine) {
    .hero-image-wrap img, .product-swiper .swiper-slide img, .large-image-wrap img, .basic-image-wrap img {
        transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .hero-image-wrap:hover img, .product-swiper .swiper-slide:hover img, .large-image-wrap:hover img, .basic-image-wrap:hover img {
        transform: scale(1.03);
    }
    .hero-image-wrap, .large-image-wrap, .basic-image-wrap {
        overflow: hidden; border-radius: 20px;
    }
}

.acc-swiper .swiper-wrapper {
    align-items: stretch; 
}

.acc-swiper .swiper-slide {
    height: auto !important; 
    display: flex;
}

.acc-swiper .swiper-slide > div {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.acc-swiper .swiper-slide > div > *:last-child {
    margin-top: auto !important;
}