.joujou-product { color: #292d29; }
.joujou-product h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); }
.joujou-intro { margin-bottom: 36px; }
.joujou-product-name { font-size: 1.5rem; font-weight: 600; }
.joujou-date { display: inline-block; border-bottom: 1px solid #907354; padding-bottom: 6px; }
.joujou-main-art { background: #f0eee8; padding: 32px; margin: 32px 0 56px; }
.joujou-product .wp-block-image { margin: 0; }
.hm-project-content .joujou-product .wp-block-image img,
.joujou-product .wp-block-image img { display: block; width: auto; max-width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; margin-inline: auto; background: none; }
.joujou-main-art img { max-height: 480px; }
.joujou-product figcaption { text-align: center; font-size: .8rem; margin-top: 12px; }
.wp-block-group.joujou-seasons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 24px 0; }
.joujou-offer { border-block: 1px solid #cdd3d0; padding: 24px 0; margin-top: 40px; }
.joujou-offer h2 { margin-top: 8px; }
.joujou-price { font-size: 1.3rem; font-weight: 600; }
.joujou-spec td:first-child { width: 27%; background: #f0eee8; }
.joujou-inquiry { background: #f0eee8; padding: 32px; margin-top: 48px; }
.joujou-inquiry h2 { margin-top: 0; }
.joujou-inquiry .button { color: #fff; }
.joujou-top-visual { background: #f0eee8; display: flex; justify-content: center; align-items: center; padding: 16px; }
.joujou-top-visual img { display: block; width: 332px; max-width: 100%; height: auto; object-fit: contain; }
.joujou-top-name { margin-bottom: 12px; font-size: 1.5rem; }
@media(max-width:600px) {
 .wp-block-group.joujou-seasons { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
 .joujou-main-art, .joujou-inquiry { padding: 20px; }
}

/* Keep all four images inside the grid despite WordPress flow-layout margins. */
.wp-block-group.joujou-seasons > .wp-block-image {
    min-width: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    justify-self: stretch;
}
.joujou-product .joujou-spec {
    border: 0;
    padding: 0;
}
.joujou-product .joujou-spec table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #9ca49e;
}
.joujou-product .joujou-spec td {
    border: 1px solid #9ca49e;
}
#editions .project-copy .text-link + .button { margin-top: 32px; }
@media(max-width:800px) {
    .joujou-top-visual { padding: 8px; }
}

/* Classic WordPress group markup may insert an inner container. */
.wp-block-group.joujou-seasons > .wp-block-group__inner-container {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    max-width: none;
    margin: 0;
}
.wp-block-group.joujou-seasons::before,
.wp-block-group.joujou-seasons::after,
.wp-block-group.joujou-seasons > .wp-block-group__inner-container::before,
.wp-block-group.joujou-seasons > .wp-block-group__inner-container::after {
    display: none;
    content: none;
}
.wp-block-group.joujou-seasons > .wp-block-group__inner-container > .wp-block-image {
    min-width: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    justify-self: stretch;
}
@media (max-width: 600px) {
    .wp-block-group.joujou-seasons > .wp-block-group__inner-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 16px;
    }
}

/* A shared frame keeps all four seasons at the same visible scale. */
.hm-project-content .joujou-product .joujou-seasons .wp-block-image img,
.joujou-product .joujou-seasons .wp-block-image img {
    width: 100%;
    max-width: 158px;
    height: auto;
    aspect-ratio: 158 / 228;
    object-fit: contain;
    object-position: center bottom;
    margin-inline: auto;
}
