/* WordPress block wrappers, keeping the approved static design's proportions. */
.sukima-site .hero h1.hero-catchphrase { font-size: clamp(28px, 3.8vw, 50px); letter-spacing: 0; line-height: 1.5; }
.sukima-site .hero-catchphrase > span { display: block; }
@media (max-width: 760px) {
    .sukima-site .hero h1.hero-catchphrase { font-size: clamp(23px, 7.6vw, 40px); }
}

.sukima-site .article-body .wp-block-group { box-sizing: border-box; }
.sukima-site .article-body .wp-block-group__inner-container { display: contents; }
.sukima-site .article-body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none; }
.sukima-site .article-body .wp-block-list { margin-bottom: 0; }
.sukima-site .article-body > .prose-section { margin-top: 58px; }
.sukima-site .article-body .wp-block-heading { color: inherit; background: none; border-left: 0; border-right: 0; border-top: 0; box-shadow: none; }
.sukima-site .answer-panel h2 { border: 0; padding: 0; }
.sukima-site .article-body .wp-block-table { margin: 0; overflow: visible; }
.sukima-site .article-body .wp-block-table table { margin: 0; border-collapse: collapse; width: 100%; }
.sukima-site .article-body .wp-block-table th, .sukima-site .article-body .wp-block-table td { border-top: 0; border-left: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sukima-site .article-body .wp-block-table th:last-child, .sukima-site .article-body .wp-block-table td:last-child { border-right: 0; }
.sukima-site .article-body .wp-block-table tbody tr:last-child > * { border-bottom: 0; }
.sukima-site .table-scroll tbody td:first-child { background: var(--soft2); font-weight: 600; }
.sukima-site .article-body .wp-block-table thead { border-bottom: 0; }
.sukima-site .article-body .wp-block-details > summary { list-style: none; }
.sukima-site .article-body .wp-block-details > summary::-webkit-details-marker { display: none; }
.sukima-site .faq-list .wp-block-details > summary::before { content: 'Q'; color: var(--main); font-family: Arial, sans-serif; font-weight: 700; }
.sukima-site .faq-list .wp-block-details > summary::after { content: '＋'; margin-left: auto; flex-shrink: 0; font-size: 19px; font-weight: 400; }
.sukima-site .faq-list .wp-block-details[open] > summary::after { content: '−'; }
.sukima-site .article-body .sources li a { text-decoration: underline; text-underline-offset: 3px; }
.sukima-site .article-body .sources > p { margin-bottom: 0; }
.sukima-site .article-layout--no-toc { display: block; max-width: 860px; }
.sukima-site .affiliate-notice { font-size: 11px; color: var(--muted); margin-top: 14px; }
.sukima-site .product-card .product-description h3 { padding: 0; border: 0; background: none; }
.sukima-site .product-card .product-description .wp-block-paragraph { margin-top: 0; }
.sukima-site .product-card .product-description .shop-button { color: #fff; }
.sukima-site .product-card .product-visual img { max-width: 100%; }
.sukima-site .category-tabs > a { display: inline-block; padding: 10px 23px; font-size: 13px; font-weight: 650; border-radius: 8px; }
.sukima-site .category-tabs > a.active { color: #fff; background: var(--main); }
.sukima-site .category-tabs > a:hover { background: var(--soft); color: var(--main); }
.sukima-site .listing-heading { padding-top: 30px; padding-bottom: 38px; border-bottom: 1px solid var(--line); }
.sukima-site .listing-heading h1 { font-size: 42px; line-height: 1.55; margin: 0 0 16px; }
.sukima-site .listing-heading > p:not(.section-kicker) { color: var(--muted); max-width: 720px; }
.sukima-site .listing-library { padding-top: 35px; }
.sukima-site .sukima-search-form { display: flex; align-items: stretch; gap: 10px; max-width: 520px; margin-top: 26px; }
.sukima-site .sukima-search-form .search-label { flex: 1; width: auto; margin: 0; }
.sukima-site .search-submit { background: var(--main); color: #fff; border: 0; border-radius: 10px; padding: 10px 18px; font-weight: 600; font-size: 13px; }
.sukima-site .search-submit span { margin-left: 15px; }
.sukima-site .sukima-pagination { margin-top: 42px; }
.sukima-site .sukima-pagination .nav-links { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.sukima-site .sukima-pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; }
.sukima-site .sukima-pagination .current { background: var(--main); color: #fff; }
.sukima-site .standard-page-body { max-width: 860px; padding-block: 40px 90px; }
.sukima-site .standard-page-body > h2 { font-size: 26px; margin-top: 36px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.sukima-site .standard-page-body > p, .sukima-site .standard-page-body > ul, .sukima-site .standard-page-body > ol { margin-top: 22px; }
.sukima-site .standard-page-body ul { padding-left: 1.5em; list-style: disc; }
.sukima-site .standard-page-body a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.sukima-site .standard-page-body blockquote { margin: 24px 0; padding: 18px 24px; background: var(--soft); border-left: 3px solid var(--accent); }
.sukima-site .contact-form { margin-top: 42px; }
.sukima-site .contact-form h2 { font-size: 26px; margin-bottom: 18px; }
.sukima-site .contact-form iframe { display: block; width: 100%; border: 0; margin-top: 24px; }
.sukima-site .footer-links { flex-wrap: wrap; }
.sukima-site .not-found { padding-block: 80px 100px; }
.sukima-site .not-found h1 { font-size: 42px; margin-bottom: 25px; }
.sukima-site .not-found > p:not(.section-kicker) { color: var(--muted); }
.sukima-site .not-found .text-link { margin-top: 30px; display: inline-flex; }
.sukima-site .empty-state h2 { font-size: 23px; margin-bottom: 15px; }
.sukima-site .empty-state .text-link { margin-top: 20px; display: inline-flex; }
.sukima-site .page-links { margin-block: 25px; display: flex; gap: 16px; }
@media (max-width: 760px) {
    .sukima-site .article-body > .prose-section { margin-top: 38px; }
    .sukima-site .category-tabs > a { font-size: 11px; padding: 8px 10px; }
    .sukima-site .listing-heading { padding-top: 10px; padding-bottom: 28px; }
    .sukima-site .listing-heading h1 { font-size: 29px; }
    .sukima-site .listing-heading > p:not(.section-kicker) { font-size: 13px; }
    .sukima-site .sukima-search-form { gap: 8px; margin-top: 20px; }
    .sukima-site .search-submit { font-size: 11px; padding: 9px 12px; }
    .sukima-site .search-submit span { margin-left: 4px; }
    .sukima-site .standard-page-body { padding-block: 25px 60px; }
    .sukima-site .not-found { padding-block: 40px 65px; }
    .sukima-site .not-found h1 { font-size: 29px; }
    .sukima-site .not-found > p:not(.section-kicker) { font-size: 13px; }
}

/* Immediate product choices inside the article's opening summary. */
.sukima-site .summary-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0 0;
}
.sukima-site .summary-products:has(> .product-card:only-child),
.sukima-site .summary-products:has(> .wp-block-group__inner-container > .product-card:only-child) { grid-template-columns: minmax(0, 1fr); }
.sukima-site .product-card--summary {
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
    margin: 0;
    padding: 18px;
    border-color: #d2e3e1;
    background: #fff;
    border-radius: 10px;
}
.sukima-site .product-card--summary .product-visual {
    width: 82px;
    min-height: 110px;
    max-width: none;
    margin: 0;
}
.sukima-site .product-card--summary .product-visual a { display: block; width: 100%; }
.sukima-site .product-card--summary .product-visual img,
.sukima-site .product-card--summary .product-visual.physical img {
    display: block;
    width: 100%;
    height: 110px;
    max-height: 110px;
    object-fit: contain;
}
.sukima-site .product-card--summary .product-description { min-width: 0; }
.sukima-site .product-card--summary .product-description h3 {
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 8px;
    padding: 0;
}
.sukima-site .product-card--summary .product-description > p {
    font-size: 12px;
    line-height: 1.8;
    margin: 0;
}
.sukima-site .product-card--summary .shop-button {
    min-height: 44px;
    margin-top: 12px;
    padding: 9px 12px;
    gap: 8px;
    font-size: 12px;
    line-height: 1.6;
    text-decoration: none;
}
.sukima-site .product-card--summary a:focus-visible { outline: 3px solid var(--accent-ink); outline-offset: 3px; }
.sukima-site .answer-panel .answer-context { margin-top: 20px; }
.sukima-site .product-card--link { position: relative; display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: center; gap: 20px; margin: 22px 0 0; padding: 18px; border: 1px solid var(--line); background: #fff; }
.sukima-site .product-card--link .product-link-visual { min-width: 0; }
.sukima-site .product-card--link .product-link-visual a { display: block; }
.sukima-site .product-card--link .product-link-visual img { display: block; width: 104px; height: 128px; max-width: 100%; object-fit: contain; }
.sukima-site .product-card--link .product-link-content { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; min-width: 0; }
.sukima-site .product-card--link .product-link-name { flex: 1 1 220px; min-width: 0; font-size: 14px; line-height: 1.7; font-weight: 700; }
.sukima-site .product-card--link .shop-button { margin: 0; min-height: 44px; max-width: 100%; gap: 10px; font-size: 13px; line-height: 1.6; text-decoration: none; }
.sukima-site .product-card--link .affiliate-impression { position: absolute; bottom: 0; left: 0; }
.sukima-site .product-card--link a:focus-visible { outline: 3px solid var(--accent-ink); outline-offset: 3px; }
.sukima-site .product-card .product-visual > a { display: block; max-width: 100%; }
.sukima-site .product-card .product-purchase-links { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; margin-top: 18px; }
.sukima-site .product-card .product-purchase-links .shop-button { flex: 1 1 190px; min-width: 0; max-width: 100%; margin: 0; gap: 10px; white-space: normal; text-decoration: none; }
.sukima-site .product-card .product-purchase-links .shop-button > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.sukima-site .product-card .product-purchase-links .shop-button > span[aria-hidden] { flex-shrink: 0; }
.sukima-site .product-card--summary .product-purchase-links { margin-top: 12px; }
.sukima-site .product-card--link .product-purchase-links { flex: 0 1 auto; margin-top: 0; }
.sukima-site .product-card--link.product-card--multiple-links .product-link-content { display: block; }
.sukima-site .product-card--link.product-card--multiple-links .product-link-name { display: block; }
.sukima-site .product-card--link.product-card--multiple-links .product-purchase-links { margin-top: 12px; }
@media (max-width: 1100px) {
    .sukima-site .summary-products { grid-template-columns: minmax(0, 1fr); }
    .sukima-site .product-card--summary { grid-template-columns: 92px minmax(0, 1fr); }
    .sukima-site .product-card--summary .product-visual { width: 92px; }
}
@media (max-width: 760px) {
    .sukima-site .product-card--link { grid-template-columns: 80px minmax(0, 1fr); gap: 14px; padding: 14px; }
    .sukima-site .product-card--link .product-link-visual img { width: 80px; height: 108px; }
    .sukima-site .product-card--link .product-link-content { display: block; }
    .sukima-site .product-card--link .product-link-name { display: block; font-size: 13px; }
    .sukima-site .product-card--link .shop-button { margin-top: 12px; padding: 9px 12px; font-size: 12px; }
    .sukima-site .answer-panel:has(.summary-products) { padding: 20px 16px; }
    .sukima-site .summary-products { margin-top: 18px; gap: 12px; }
    .sukima-site .product-card--summary { grid-template-columns: 68px minmax(0, 1fr); gap: 12px; padding: 14px; }
    .sukima-site .product-card--summary .product-visual { width: 68px; min-height: 94px; }
    .sukima-site .product-card--summary .product-visual img,
    .sukima-site .product-card--summary .product-visual.physical img { height: 94px; max-height: 94px; }
    .sukima-site .product-card--summary .product-description h3 { font-size: 14px; }
    .sukima-site .product-card--summary .product-description > p { font-size: 12px; line-height: 1.75; }
    .sukima-site .product-card--summary .shop-button { padding: 9px 10px; font-size: 11px; }
    .sukima-site .product-card .product-purchase-links { flex-direction: column; align-items: stretch; }
    .sukima-site .product-card .product-purchase-links .shop-button { flex: 0 0 auto; width: 100%; }
    .sukima-site .product-card--link .product-purchase-links { margin-top: 12px; }
}

/* Keep the opening illustration beside the introduction on larger screens. */
.sukima-site .article-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    column-gap: clamp(28px, 4vw, 56px);
    row-gap: 0;
    align-items: start;
    padding-bottom: 28px;
}
.sukima-site .article-title-block { min-width: 0; max-width: none; align-self: end; }
.sukima-site .article-title-block h1 { font-size: clamp(25px, 2.65vw, 36px); line-height: 1.55; }
.sukima-site .article-intro { grid-column: 1; min-width: 0; }
.sukima-site .article-key-visual { grid-column: 2; grid-row: 1 / 3; align-self: center; min-width: 0; margin: 0; }
.sukima-site .article-key-visual__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 18px;
    background: #f5f0e6;
}
.sukima-site .article-key-visual__image--product {
    object-fit: contain;
    padding: clamp(16px, 3vw, 30px);
    background: #fff;
}
.sukima-site .article-hero:not(:has(.article-key-visual)) { display: block; max-width: 940px; }
.sukima-site .article-layout { padding-top: 28px; }
.sukima-site .toc-mobile { margin-top: 24px; }
.sukima-site .product-thumbnail { padding: 22px 35px; }
.sukima-site .product-thumbnail img { object-fit: contain; }
.sukima-site .related-guides { padding-block: 32px 45px; border-top: 1px solid var(--line); }
.sukima-site .related-guides h2 { font-size: 20px; line-height: 1.7; }
.sukima-site .related-guides > p { margin-top: 10px; color: var(--muted); font-size: 13px; }
.sukima-site .related-guides ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px 28px; margin: 20px 0; list-style: none; }
.sukima-site .related-guides li a { display: block; padding-block: 12px; border-bottom: 1px solid var(--line); font-size: 14px; }
.sukima-site .related-guides li a:hover { text-decoration: underline; }
.sukima-site .category-tabs { overflow-x: auto; justify-content: flex-start; flex-wrap: nowrap; }
.sukima-site .category-tabs > * { white-space: nowrap; flex-shrink: 0; }
.sukima-site .taxonomy-navigation { flex-wrap: wrap; overflow-x: visible; gap: 8px; }
.sukima-site .taxonomy-navigation > a { padding: 10px 16px; background: var(--soft); }
.sukima-site .taxonomy-secondary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 15px; color: var(--muted); font-size: 12px; }
.sukima-site .taxonomy-secondary a { color: var(--main); padding-block: 8px; }
.sukima-site .taxonomy-secondary a:hover, .sukima-site .taxonomy-secondary a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
.sukima-site .taxonomy-article-group > h2 { font-size: 23px; margin-bottom: 25px; }
.sukima-site .taxonomy-article-group > p { margin: -12px 0 25px; font-size: 13px; color: var(--muted); }
.sukima-site .taxonomy-article-group--guides { margin-top: 48px; padding-top: 35px; border-top: 1px solid var(--line); }
.sukima-site .taxonomy-article-group--guides:first-of-type { margin-top: 0; }
.sukima-site .article-tags { padding-block: 28px; font-size: 12px; color: var(--muted); }
.sukima-site .article-tags > span { display: block; margin-bottom: 12px; }
.sukima-site .article-tags ul { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.sukima-site .article-tags a { display: inline-block; padding: 10px 16px; background: var(--soft); color: var(--main); border-radius: 8px; }
.sukima-site .article-tags a:hover { text-decoration: underline; text-underline-offset: 4px; }
.sukima-site .tag-navigation { scroll-margin-top: 24px; }
.sukima-site .tag-navigation--expanded { margin-block: 24px 56px; }
.sukima-site .tag-navigation__panel { background: var(--soft); border: 1px solid var(--line); border-radius: 16px; padding: 28px 32px; }
.sukima-site .tag-navigation__heading { margin-bottom: 26px; }
.sukima-site .tag-navigation__heading h2 { font-size: 24px; line-height: 1.6; margin: 0; }
.sukima-site .tag-navigation__heading p { margin-top: 7px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.sukima-site .tag-navigation__groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px 28px; }
.sukima-site .tag-navigation__group { min-width: 0; }
.sukima-site .tag-navigation__group h3 { margin: 0 0 9px; font-size: 13px; line-height: 1.7; color: var(--main); }
.sukima-site .tag-navigation__group ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.sukima-site .tag-navigation__group a { display: inline-flex; align-items: center; gap: 5px; min-height: 40px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--main); font-size: 12px; line-height: 1.7; text-decoration: none; }
.sukima-site .tag-navigation__hash { color: var(--muted); font-size: 11px; }
.sukima-site .tag-navigation__group a:hover { border-color: var(--main); text-decoration: underline; text-underline-offset: 3px; }
.sukima-site .tag-navigation__group a[aria-current="page"] { background: var(--main); color: #fff; border-color: var(--main); }
.sukima-site .tag-navigation__group a[aria-current="page"] .tag-navigation__hash { color: inherit; }
.sukima-site .tag-navigation a:focus-visible, .sukima-site .tag-navigation summary:focus-visible { outline: 3px solid var(--main); outline-offset: 3px; }
.sukima-site .tag-navigation--compact { margin-block: 22px; }
.sukima-site .tag-navigation--compact .tag-navigation__panel { padding: 0; border-radius: 12px; }
.sukima-site .tag-navigation--compact summary { padding: 17px 22px; cursor: pointer; list-style: none; }
.sukima-site .tag-navigation--compact summary::-webkit-details-marker { display: none; }
.sukima-site .tag-navigation--compact summary h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin: 0; font-size: 16px; line-height: 1.7; }
.sukima-site .tag-navigation--compact summary small { color: var(--muted); font-size: 12px; font-weight: 400; }
.sukima-site .tag-navigation__toggle { margin-left: auto; font-size: 20px; font-weight: 400; line-height: 1; }
.sukima-site .tag-navigation__toggle::before { content: '＋'; }
.sukima-site .tag-navigation__panel[open] .tag-navigation__toggle::before { content: '−'; }
.sukima-site .tag-navigation--compact .tag-navigation__groups { padding: 4px 22px 22px; }
@media (min-width: 761px) and (max-width: 1020px) {
    .sukima-site .desktop-nav { gap: 16px; font-size: 13px; }
    .sukima-site .tag-navigation__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width:760px) {
    .sukima-site .tag-navigation--expanded { margin-block: 18px 35px; }
    .sukima-site .tag-navigation__panel { padding: 22px 18px; border-radius: 12px; }
    .sukima-site .tag-navigation__heading { margin-bottom: 23px; }
    .sukima-site .tag-navigation__heading h2 { font-size: 21px; }
    .sukima-site .tag-navigation__heading p { font-size: 12px; }
    .sukima-site .tag-navigation__groups { grid-template-columns: minmax(0, 1fr); gap: 21px; }
    .sukima-site .tag-navigation__group a { min-height: 42px; }
    .sukima-site .tag-navigation--compact summary { padding: 15px 16px; }
    .sukima-site .tag-navigation--compact summary h2 { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; font-size: 15px; }
    .sukima-site .tag-navigation--compact summary small { grid-column: 1; font-size: 11px; }
    .sukima-site .tag-navigation__toggle { grid-column: 2; grid-row: 1 / 3; }
    .sukima-site .tag-navigation--compact .tag-navigation__groups { padding: 6px 16px 20px; }
    .sukima-site .taxonomy-navigation > a { font-size: 12px; padding: 11px 12px; }
    .sukima-site .taxonomy-secondary { gap: 8px 20px; }
    .sukima-site .taxonomy-article-group > h2 { font-size: 19px; margin-bottom: 20px; }
    .sukima-site .article-hero { grid-template-columns: minmax(0, 1fr); padding-bottom: 15px; }
    .sukima-site .article-title-block h1 { font-size: 25px; }
    .sukima-site .article-key-visual { grid-column: 1; grid-row: auto; margin-top: 17px; }
    .sukima-site .article-key-visual__image { border-radius: 12px; }
    .sukima-site .article-intro { grid-column: 1; }
    .sukima-site .article-layout { padding-top: 10px; }
    .sukima-site .related-guides ul { grid-template-columns: 1fr; gap: 0; }
    .sukima-site .related-guides h2 { font-size: 18px; }
    .sukima-site .product-thumbnail { padding: 14px 18px; }
    .sukima-site .cards-three .product-thumbnail { padding: 15px 18px; }
}

/* Keep full article titles readable in every article entry point. */
.sukima-site .card-copy h3, .sukima-site .scene-card h3 { overflow-wrap: anywhere; }
.sukima-site .scene-card > div { min-width: 0; }
.sukima-site .photo-note { right: 32px; }
.sukima-site .photo-note a { overflow-wrap: anywhere; }
.sukima-site .photo-note a > span { flex-shrink: 0; }
@media (max-width: 760px) {
    .sukima-site .photo-note { right: 21px; }
}
