:root{--brand-gradient:var(--wp--preset--gradient--brand);--border:#F8DDE6;--card-shadow:0 8px 28px rgba(106,45,78,.07)}
*:not(.is-rakuten-affiliate-image *){box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-size:16px;line-height:1.8}a:not(.is-rakuten-affiliate-image a){text-underline-offset:.22em}img:not(.is-rakuten-affiliate-image img){max-width:100%;height:auto}h1,h2,h3{line-height:1.45;letter-spacing:.025em;text-wrap:pretty}h1{font-size:clamp(30px,3.35vw,48px)}h2{font-size:clamp(25px,2.4vw,34px)}h3{font-size:22px}p{overflow-wrap:anywhere}a:focus-visible:not(.is-rakuten-affiliate-image a),button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--wp--preset--color--berry);outline-offset:5px}a:hover:not(.is-rakuten-affiliate-image a){text-decoration-thickness:2px}.wp-site-blocks>*{margin-block-start:0}.wrap{width:min(1200px,calc(100% - 48px));margin-inline:auto}.band{padding-block:80px}.pink{background:var(--wp--preset--color--soft-pink)}.cream{background:var(--wp--preset--color--warm-cream)}
.site-header{border-bottom:1px solid var(--border);background:var(--wp--preset--color--white)}.header-inner{width:min(1200px,calc(100% - 48px));height:80px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-link{display:flex;align-items:center}.brand-link img{width:220px;max-height:64px;object-fit:contain}.desktop-nav{display:flex;gap:32px}.desktop-nav a{text-decoration:none;font-weight:700}.mobile-menu{display:none}.hero{padding-block:80px;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:48px;min-height:540px}.hero h1{margin:16px 0 24px}.eyebrow{color:var(--wp--preset--color--berry);font-weight:700;letter-spacing:.1em;font-size:16px}.hero-copy{margin-bottom:32px}.hero-art img{width:100%;max-height:350px;object-fit:contain}.cta{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:16px 28px;border-radius:60px;font-weight:700;font-size:18px;line-height:1.5;text-decoration:none;border:0;font-family:inherit}.cta:hover{box-shadow:0 4px 12px rgba(106,45,78,.18);text-decoration:underline}.cta:disabled{cursor:not-allowed;box-shadow:none}.cta-row{display:flex;flex-wrap:wrap;gap:24px}.section-intro{margin-bottom:32px}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.choice-card,.article-card,.product-card{background:var(--wp--preset--color--white);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--card-shadow)}.choice-number{font-size:16px;color:var(--wp--preset--color--berry);font-weight:700}.choice-card h3{margin:12px 0}.coming{display:inline-block;font-size:16px;color:var(--wp--preset--color--berry)}.purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.purpose-item{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:20px 0;font-weight:700}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;list-style:none}.article-card{height:100%}.article-card h3,.article-card h2{font-size:22px;margin:16px 0}.article-card img{border-radius:12px;aspect-ratio:1200/630;object-fit:cover}.article-card .wp-block-post-terms,.article-card time{font-size:16px}.empty-state{padding:32px;border:1px dashed var(--border);border-radius:16px;background:var(--wp--preset--color--white)}.site-footer{background:var(--wp--preset--color--berry);color:var(--wp--preset--color--white)}.footer-inner{width:min(1200px,calc(100% - 48px));margin:auto;padding:56px 0}.site-footer a{color:var(--wp--preset--color--soft-pink)}.footer-title{font-weight:700;font-size:22px}.copyright{margin-top:40px}.article-shell{width:min(760px,calc(100% - 48px));margin:auto}.article-shell .wp-block-post-featured-image img{border-radius:16px}.date-row{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center;margin-bottom:24px}.date-row>*{margin:0}.breadcrumb{margin-bottom:24px;font-size:16px}.toc,.author-box{padding:24px 32px;border-radius:16px;background:var(--wp--preset--color--soft-pink);margin-block:32px}.article-body h2,.related h2{border-left:5px solid var(--wp--preset--color--primary-pink);padding-left:18px;margin-top:56px;margin-bottom:24px}.article-body h3{margin-top:32px}.article-body p{margin-block:24px}.article-body li{margin-block:8px}.article-body blockquote{border-left:3px solid var(--border);margin-inline:0;padding:16px 24px;background:var(--wp--preset--color--warm-cream)}.is-style-point,.is-style-recommend,.is-style-caution,.is-style-summary{padding:24px;border-radius:16px;margin-block:32px;border:1px solid var(--border);background:var(--wp--preset--color--soft-pink)}.is-style-caution{background:var(--wp--preset--color--warm-cream);border-left:5px solid var(--wp--preset--color--berry)}.is-style-summary{background:var(--wp--preset--color--white);border:2px solid var(--border)}.wp-block-table{overflow-x:auto;margin-inline:0;max-width:100%;border-radius:12px}.wp-block-table table{min-width:620px;border-collapse:collapse;width:100%}.wp-block-table th,.wp-block-table td{border:1px solid var(--border);padding:16px;text-align:left}.wp-block-table thead,.wp-block-table tbody td:nth-child(2){background:var(--wp--preset--color--soft-pink)}.wp-block-table figcaption{font-size:16px}.product-card{margin-block:32px}.wp-block-separator{border:0;border-top:1px solid var(--border);margin-block:48px}.not-found{text-align:center}.error-art{max-width:200px}.wp-block-search{margin-block:32px}.wp-block-search__input{min-width:0;min-height:48px;border:1px solid var(--border);border-radius:8px;padding:12px;font:inherit}.wp-block-search__button{background:var(--wp--preset--color--berry);color:white;border:0;border-radius:60px;padding:12px 24px;font:inherit;min-height:48px}.wp-block-query-pagination{display:flex;gap:24px;margin-top:32px}
@media(max-width:1024px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:24px}.desktop-nav{gap:20px}.brand-link img{width:190px}}
@media(max-width:768px){.wrap,.header-inner,.footer-inner,.article-shell{width:calc(100% - 40px)}.header-inner{height:64px}.brand-link img{width:160px;max-height:50px}.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-weight:700}.mobile-menu nav{position:absolute;right:0;top:100%;width:240px;padding:16px;background:var(--wp--preset--color--white);border:1px solid var(--border);border-radius:16px;z-index:10;box-shadow:var(--card-shadow)}.mobile-menu nav a{display:block;padding:12px}.hero{grid-template-columns:1fr;padding-block:56px;gap:24px;min-height:0}.hero h1{font-size:30px;letter-spacing:0}.hero-art{justify-self:center}.hero-art img{max-height:220px;width:auto}.band{padding-block:56px}.choice-grid,.purpose-grid,.article-grid{grid-template-columns:1fr}.choice-card{padding:24px}.cta{padding:14px 24px;max-width:100%;text-align:center}.toc,.author-box{padding:24px}.date-row{gap:4px 10px}.footer-title{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.wp-block-table:focus-visible{outline:3px solid var(--wp--preset--color--berry);outline-offset:4px}

/* Native blocks: content in WP, appearance in the theme. */
.header-inner > *{margin-block:0}.header-inner{height:auto;min-height:80px}.header-navigation{font-weight:700;gap:24px}.header-navigation .wp-block-navigation-item__content{text-decoration:none}.header-navigation .wp-block-navigation__responsive-container-open,.header-navigation .wp-block-navigation__responsive-container-close{min-width:48px;min-height:48px;justify-content:center;align-items:center}
.canonical-wordmark{flex-shrink:0;line-height:0}.canonical-wordmark a{display:block;width:220px;height:61px;overflow:hidden}.canonical-wordmark img{display:block;width:220px!important;max-width:none;height:auto!important;transform:translateY(-12px)}
.hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);min-height:0;gap:48px}.hero > *{margin:0;min-width:0}.hero-art{width:100%;max-width:460px;justify-self:center;line-height:0;mix-blend-mode:multiply}.hero-art img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}.hero-text > :first-child{margin-top:0}.hero-text > :last-child{margin-bottom:0}.hero .wp-block-buttons{margin-top:32px}.home-main .wp-block-post-content > *{margin-block-start:0}.choice-grid > *, .purpose-grid > *{margin-block:0}.purpose-item > p{margin:0}
.cta,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;border-radius:60px;font:700 18px/1.5 var(--wp--preset--font-family--body);text-align:center;text-decoration:none;transition:filter .15s ease,transform .15s ease,background-color .15s ease;box-sizing:border-box}
.cta.primary,.wp-block-button:not(.is-style-secondary) .wp-block-button__link{background:var(--brand-gradient);color:var(--wp--preset--color--white);border:none;box-shadow:0 6px 20px rgba(255,79,129,.20);text-shadow:none}
.cta.primary:hover,.wp-block-button:not(.is-style-secondary) .wp-block-button__link:hover{filter:brightness(.96);transform:translateY(-1px);text-decoration:none;box-shadow:0 6px 20px rgba(255,79,129,.20)}
.cta.secondary,.wp-block-button.is-style-secondary .wp-block-button__link{background:var(--wp--preset--color--white);color:var(--wp--preset--color--primary-pink);border:2px solid var(--wp--preset--color--primary-pink);box-shadow:none}
.cta.secondary:hover,.wp-block-button.is-style-secondary .wp-block-button__link:hover{background:var(--wp--preset--color--soft-pink);text-decoration:none;box-shadow:none}
.wp-block-button__link:focus-visible{outline:3px solid var(--wp--preset--color--berry);outline-offset:5px}.wp-block-buttons{gap:24px}.footer-navigation{margin-block:28px}.site-footer .wp-block-navigation-item__content{color:var(--wp--preset--color--soft-pink)}.site-footer a:focus-visible{outline-color:var(--wp--preset--color--white)}
@media(max-width:768px){.header-inner{min-height:64px}.canonical-wordmark a{width:170px;height:47px}.canonical-wordmark img{width:170px!important;transform:translateY(-9px)}.hero{grid-template-columns:1fr;gap:32px}.hero-art{max-width:290px;width:85%}.hero-art img{width:100%;height:auto;max-height:none}.header-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.header-navigation .wp-block-navigation__responsive-container-open{display:flex!important}.header-navigation .wp-block-navigation__responsive-container.is-menu-open{padding:24px}.footer-navigation .wp-block-navigation__container{gap:16px 24px}.wp-block-button{max-width:100%}.wp-block-button__link{max-width:100%}}
@media(min-width:769px){.header-navigation .wp-block-navigation__responsive-container-open{display:none!important}.header-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:block!important}}
@media(prefers-reduced-motion:reduce){.cta:hover,.wp-block-button__link:hover{transform:none!important}}

/* Canonical source viewport: isolate the existing binocular illustration.
   Source 1254x1254; view x=140..1170, y=165..710. No source pixels edited.
   The lower contour follows the whitespace above the wordmark. */
.hero-binoculars{position:relative;aspect-ratio:1030/545;overflow:hidden}
.hero-binoculars img{position:absolute;left:-13.592233%;top:-30.275229%;width:121.747573%;max-width:none;height:auto;clip-path:polygon(0 0,100% 0,100% 52%,82% 52%,77% 53%,72% 54.8%,68% 55.6%,65% 55.6%,62% 55%,59% 53.8%,54% 53%,49% 53.5%,46% 53.8%,44% 54.9%,40% 55.5%,36% 55.5%,32% 54.5%,29% 53.8%,27% 52.5%,23% 49%,20% 53%,0 53%)}
@media(max-width:768px){
 .hero{padding-block:36px 40px;gap:28px}
 .hero h1{font-size:clamp(25px,7.05vw,32px);line-height:1.5;letter-spacing:0;text-wrap:initial;margin-block:12px 20px}
 .hero-copy{margin-block:0 24px;max-width:34em}
 .hero .wp-block-buttons{margin-top:24px}
 .hero .wp-block-button__link{font-size:16px;padding:14px 24px;min-height:52px}
 .hero-binoculars{width:76%;max-width:240px}
 .hero-binoculars img{width:121.747573%;height:auto;max-height:none}
}

/* Home operating sections share the existing card and button components. */
.home-main h2{text-wrap:balance;line-break:strict}
.home-main .section-intro{max-width:52em}
.home-main .article-grid + .wp-block-buttons{margin-top:32px}
.empty-card{display:flex;flex-direction:column;justify-content:center;min-height:180px}
.card-category{color:var(--wp--preset--color--berry);font-weight:700}
.home-main .article-card p{font-size:16px}
@media(max-width:768px){.home-main h2{font-size:clamp(25px,6.67vw,28px)}.hero-copy{line-break:strict;text-wrap:pretty}.home-main .article-grid{gap:24px}}
@media(max-width:768px){.home-main .section-intro,.hero-copy{text-wrap:balance}}
/* Product cards are purchase/comparison components, separate from article cards. */
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:32px}
.product-grid.product-count-1{grid-template-columns:1fr;max-width:960px;margin-inline:auto}
.product-grid.product-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.oshimiru-product-card{background:var(--wp--preset--color--white);border:1px solid var(--border);border-radius:20px;box-shadow:var(--card-shadow);padding:24px;min-width:0;text-align:left}
.product-grid .oshimiru-product-card{display:block}
.oshimiru-product-image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--wp--preset--color--warm-cream);border-radius:12px;margin-bottom:24px;padding:16px;text-align:center}
.oshimiru-product-image>img{max-height:240px;width:auto;object-fit:contain}
.oshimiru-product-info{min-width:0}.oshimiru-product-info h3{margin:8px 0 20px;font-size:22px}
.product-manufacturer{color:var(--wp--preset--color--berry);font-weight:700;margin:0}
.product-specs{margin:0 0 20px}.product-specs>div{display:grid;grid-template-columns:5em 1fr;gap:12px;border-bottom:1px solid var(--border);padding:8px 0}.product-specs dt{font-weight:700}.product-specs dd{margin:0;overflow-wrap:anywhere}
.product-points{padding-left:1.3em}.product-actions{display:grid;gap:12px;margin-top:20px}.product-cta{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:12px 18px;border-radius:60px;text-decoration:none;font-weight:700;border:2px solid var(--wp--preset--color--primary-pink)}
.product-cta-primary{background:var(--wp--preset--color--primary-pink);color:var(--wp--preset--color--white)}.product-cta-secondary{background:var(--wp--preset--color--white);color:var(--wp--preset--color--primary-pink)}
.product-cta:hover{filter:brightness(.96)}.product-cta-secondary:hover{background:var(--wp--preset--color--soft-pink);filter:none}.product-ad-label{font-size:16px}
.article-body>.oshimiru-product-card{margin-block:32px}
@media(min-width:769px){.hero{text-align:left}}
@media(max-width:768px){
 .hero{text-align:center;justify-items:center}.hero-text{width:100%}.hero h1{font-size:clamp(28px,7.5vw,34px);line-height:1.4;letter-spacing:0}
 .hero-copy{max-width:350px;margin-inline:auto;text-align:center}.hero .wp-block-buttons{justify-content:center;width:min(100%,360px);margin-inline:auto}.hero .wp-block-button{width:100%}.hero .wp-block-button__link{width:100%;min-height:52px}
 .hero-binoculars{width:70%;max-width:250px;justify-self:center}
 .home-main section>.wrap>h2,.home-main #purpose>h2,.home-main .section-intro{text-align:center;margin-inline:auto}
 .home-main section>.wrap>.wp-block-buttons{justify-content:center}.home-main section>.wrap>.wp-block-buttons .wp-block-button{width:min(100%,360px)}.home-main section>.wrap>.wp-block-buttons .wp-block-button__link{width:100%}
 .product-grid,.product-grid.product-count-2{grid-template-columns:1fr}.oshimiru-product-card{padding:24px}.oshimiru-product-image{width:100%}.oshimiru-product-info{text-align:left}.footer-title{text-wrap:balance}
}
@media(max-width:480px){.hero.wrap{width:calc(100% - 32px)}.hero-copy{padding-inline:4px}.hero h1{text-wrap:initial}}
@media(max-width:768px){.home-main section>.wrap>h2{word-break:auto-phrase}.hero-copy,.home-main .section-intro{word-break:auto-phrase}}
@media(max-width:480px){.hero h1{width:calc(100% + 16px);margin-inline:-8px;font-size:clamp(26px,8.533vw,34px)}}

/* Marketing section CTAs: generated Buttons lack core's is-layout-flex class. */
@media (max-width:767px){
 .home-main .band .home-section-cta.wp-block-buttons{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;width:100%;margin-inline:auto}
 .home-main .band .home-section-cta.wp-block-buttons > .wp-block-button{flex:0 1 360px;width:min(100%,360px);min-width:0;margin-inline:auto}
 .home-main .band .home-section-cta .wp-block-button__link{width:100%;min-height:52px;margin-inline:auto}
}

/* Shared commerce components; specs and ranking labels are data, not category UI. */
.oshimiru-commerce{margin-block:40px;min-width:0;max-width:100%}
.ranking-list{list-style:none;padding:0;display:grid;gap:32px}.ranking-list>li{min-width:0}
.ranking-evaluation{padding:20px 24px;background:var(--wp--preset--color--soft-pink);border-radius:16px 16px 0 0}.ranking-evaluation>strong{color:var(--wp--preset--color--berry);font-size:24px}
.ranking-badge{display:inline-block;padding:4px 12px;border-radius:8px;background:var(--wp--preset--color--white);color:var(--wp--preset--color--berry);font-weight:700}
.ranking-evaluation p{margin:12px 0 0}.product-cautions{border-left:3px solid var(--border);padding-left:12px}.product-specs dt{overflow-wrap:anywhere}
.comparison-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:16px}.comparison-scroll:focus-visible{outline:3px solid var(--wp--preset--color--berry);outline-offset:4px}
.comparison-scroll table{border-collapse:collapse;min-width:100%;width:max-content}.comparison-scroll caption{text-align:left;font-weight:700;padding:16px}.comparison-scroll th,.comparison-scroll td{padding:16px;border:1px solid var(--border);min-width:180px;max-width:240px;overflow-wrap:anywhere;text-align:left;vertical-align:top}.comparison-scroll thead{background:var(--wp--preset--color--soft-pink)}.comparison-scroll tbody th{background:var(--wp--preset--color--warm-cream)}

@media(max-width:768px){.product-variant-standard,.product-variant-ranking{display:block}.ranking-evaluation{padding:20px}.comparison-scroll th,.comparison-scroll td{min-width:160px;padding:12px}}

/* CTA color overrides are limited to these tokens; brand palette stays intact. */
:root{--oshimiru-cta-start:var(--wp--preset--color--primary-pink);--oshimiru-cta-middle:var(--wp--preset--color--heart-pink);--oshimiru-cta-end:var(--wp--preset--color--peach);--oshimiru-cta-text:var(--wp--preset--color--white);--oshimiru-cta-secondary-bg:var(--wp--preset--color--white);--oshimiru-cta-secondary-border:var(--wp--preset--color--primary-pink);--oshimiru-cta-secondary-text:var(--wp--preset--color--primary-pink);--oshimiru-cta-secondary-hover:var(--wp--preset--color--soft-pink);--oshimiru-cta-gradient:linear-gradient(135deg,var(--oshimiru-cta-start) 0%,var(--oshimiru-cta-middle) 55%,var(--oshimiru-cta-end) 100%)}
.cta.primary,.wp-block-button:not(.is-style-secondary) .wp-block-button__link{background:var(--oshimiru-cta-gradient);color:var(--oshimiru-cta-text)}
.cta.secondary,.wp-block-button.is-style-secondary .wp-block-button__link,.product-cta-secondary{background:var(--oshimiru-cta-secondary-bg);border-color:var(--oshimiru-cta-secondary-border);color:var(--oshimiru-cta-secondary-text)}
.cta.secondary:hover,.wp-block-button.is-style-secondary .wp-block-button__link:hover,.product-cta-secondary:hover{background:var(--oshimiru-cta-secondary-hover)}
.product-cta-primary{background:var(--oshimiru-cta-start);border-color:var(--oshimiru-cta-start);color:var(--oshimiru-cta-text)}
.cta:focus-visible,.product-cta:focus-visible,.wp-block-button__link:focus-visible{outline:3px solid var(--wp--preset--color--berry);outline-offset:5px;box-shadow:0 0 0 2px var(--wp--preset--color--white)}
/* Marketing groups; keep the 768px tablet boundary aligned with existing mobile layout. */
@media(max-width:768px){
 main .wp-block-buttons,.site-footer .wp-block-buttons,.cta-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;width:100%;margin-inline:auto}
 main .wp-block-buttons>.wp-block-button,.site-footer .wp-block-buttons>.wp-block-button{flex:0 1 360px;width:min(100%,360px);min-width:0;margin-inline:auto}
 main .wp-block-button__link,.site-footer .wp-block-button__link{width:100%;min-height:52px;margin-inline:auto}
 main .cta,.site-footer .cta{display:flex;width:min(100%,360px);min-height:52px;margin-inline:auto}
 .product-actions{display:grid;grid-template-columns:1fr;gap:12px;width:100%;margin-inline:auto}
 .product-actions .product-cta,.product-card .cta{width:100%;min-height:52px;margin-inline:auto}
}

/* Commerce hierarchy: data is shared; variants control only presentation. */
.oshimiru-product-card{display:block;overflow-wrap:anywhere;container-type:inline-size}
.product-overview{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.oshimiru-product-image{aspect-ratio:1/1;margin:0;min-width:0;max-width:100%}
.oshimiru-product-image>img{max-width:100%;max-height:280px;height:auto;object-fit:contain}
.oshimiru-product-image.is-rakuten-affiliate-image{aspect-ratio:auto;min-height:272px;overflow:visible}
.oshimiru-product-image.is-placeholder{aspect-ratio:auto;min-height:120px;padding:24px 16px}
.product-image-placeholder{display:grid;gap:8px;font-size:16px;color:var(--wp--preset--color--body)}
.product-image-placeholder>span{font-size:24px;color:var(--wp--preset--color--berry)}
.oshimiru-product-card .product-manufacturer{font-size:16px;margin:0 0 8px;font-weight:500}
.oshimiru-product-card .product-title{font-size:clamp(22px,3cqi,28px);line-height:1.5;margin:0 0 12px;text-wrap:pretty}
.oshimiru-product-card .product-model{font-size:16px;margin:0 0 16px}
.oshimiru-product-card .product-tagline{font-weight:700;color:var(--wp--preset--color--berry);margin:16px 0}
.product-badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0}
.oshimiru-product-card .product-badges li{margin:0;padding:4px 10px;background:var(--wp--preset--color--soft-pink);color:var(--wp--preset--color--berry);border-radius:8px;font-size:16px}
.product-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.product-highlights>div{padding:12px;background:var(--wp--preset--color--warm-cream);border-radius:10px;min-width:0}
.product-highlights dt{font-size:16px}.product-highlights dd{font-weight:700;color:var(--wp--preset--color--heading);margin:4px 0 0;font-size:18px}
.oshimiru-product-card .product-description{margin:20px 0 0}
.product-insights{display:grid;gap:16px;margin-top:24px}
.product-panel{padding:20px;border-radius:12px;background:var(--wp--preset--color--warm-cream);border:1px solid var(--border)}
.product-panel.product-audience,.product-panel.product-review-positive{background:var(--wp--preset--color--soft-pink)}
.product-panel h4{font-size:18px;margin:0 0 12px;color:var(--wp--preset--color--heading)}
.product-panel ul{padding-left:1.3em;margin:0}.product-panel li{margin:8px 0}
.product-review-positive li::marker{content:'✓  ';color:var(--wp--preset--color--berry)}
.product-review-concern li::marker{content:'△  ';color:var(--wp--preset--color--berry)}
.oshimiru-product-card .product-cautions{border-left:3px solid var(--wp--preset--color--peach);padding:20px}
.product-review-meta,.product-review-note{font-size:16px;line-height:1.8;margin:20px 0}
.product-all-specs{margin-top:24px;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.product-all-specs summary{cursor:pointer;padding:16px;font-weight:700;min-height:52px}
.product-all-specs .product-specs{margin:0}.product-all-specs .product-specs>div{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:0;padding:0}
.product-all-specs dt{background:var(--wp--preset--color--warm-cream);padding:12px}.product-all-specs dd{padding:12px;background:var(--wp--preset--color--white)}
.product-purchase{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}
.product-ad-label{font-weight:700;margin:0}.product-ad-label span{display:block;font-weight:400;margin-top:4px}
.product-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.product-variant-compact .product-overview{display:block}.product-variant-compact .oshimiru-product-image{margin-bottom:20px;aspect-ratio:4/3;max-height:220px}.product-variant-compact .oshimiru-product-image.is-placeholder{aspect-ratio:auto;min-height:100px}.product-variant-compact .oshimiru-product-image.is-rakuten-affiliate-image{aspect-ratio:auto;min-height:272px;max-height:none}
.product-variant-compact .product-description{display:none}
.product-preview-shell{width:min(1000px,calc(100% - 40px));margin:40px auto}.product-preview-shell nav{display:flex;flex-wrap:wrap;gap:20px}.product-preview-shell .product-variant-compact{max-width:400px;margin:auto}
.comparison-scroll .oshimiru-product-image{max-height:160px;min-height:80px;margin-bottom:16px;padding:12px}.comparison-scroll .oshimiru-product-image>img{max-height:136px}.comparison-scroll .oshimiru-product-image.is-rakuten-affiliate-image{max-height:none;min-height:264px}.comparison-scroll .product-actions{grid-template-columns:1fr}.comparison-scroll .product-purchase{border:0;margin:0;padding:0}
@container(max-width:560px){.product-overview{grid-template-columns:1fr}.oshimiru-product-image{max-width:280px;margin-inline:auto;max-height:240px}.oshimiru-product-image.is-placeholder{width:100%;max-width:none}.product-title{font-size:24px}}
@media(max-width:768px){.product-overview{grid-template-columns:1fr}.oshimiru-product-card{padding:20px}.product-actions{grid-template-columns:1fr;width:100%}.product-actions .product-cta{width:100%}.product-panel{padding:16px}.product-preview-shell{margin:24px auto}.product-preview-shell h1{font-size:28px}}
@media(max-width:768px){.product-overview>.oshimiru-product-image{width:100%;max-width:280px;max-height:240px;margin-inline:auto}.product-overview>.oshimiru-product-image.is-placeholder{max-width:none;min-height:100px}.product-overview>.oshimiru-product-image.is-rakuten-affiliate-image{min-height:272px;max-height:none}.product-overview>.oshimiru-product-image>img{max-height:208px}}

/* Article reading hierarchy: only editor-authored direct headings receive it. */
.article-shell>.wp-block-post-title{margin-bottom:16px}
.date-row{margin-top:0;margin-bottom:32px;color:var(--wp--preset--color--body);font-size:16px;line-height:1.5;opacity:.82}
.date-row .date-label{font-weight:700;color:var(--wp--preset--color--berry)}
.article-body>h2.wp-block-heading{margin:56px 0 24px;padding:18px 20px;border-left:5px solid var(--wp--preset--color--primary-pink);border-radius:14px;background:var(--wp--preset--color--soft-pink);color:var(--wp--preset--color--heading)}
.article-body>h3.wp-block-heading{margin:36px 0 20px;padding:12px 16px;border-left:3px solid var(--wp--preset--color--primary-pink);border-radius:10px;background:var(--wp--preset--color--warm-cream);color:var(--wp--preset--color--heading)}
.toc{border:1px solid var(--border)}
.toc ol{margin:14px 0 0;padding-left:1.5em}.toc li{margin:8px 0}.toc a{color:var(--wp--preset--color--heading)}
.related{margin-top:56px}.related>h2{padding:0 0 12px;border:0;border-bottom:3px solid var(--border);background:none}.related ul{padding-left:1.25em}
@media(max-width:768px){
 .article-body>h2.wp-block-heading{margin-top:48px;padding:16px 18px;border-radius:12px}
 .article-body>h3.wp-block-heading{margin-top:32px;padding:12px 14px}
 .toc{padding:20px}.toc ol{padding-left:1.35em}
 .date-row{gap:4px 8px;margin-bottom:28px}
}

/* Local commerce refinement: shared product DB, untouched affiliate embeds. */
.oshimiru-product-card {padding:20px;border-color:#f5d5e1;box-shadow:0 5px 18px rgba(106,45,78,.05)}
.oshimiru-product-card .product-overview {grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}
.oshimiru-product-card .product-overview>.oshimiru-product-image {aspect-ratio:auto;width:100%;max-width:260px;min-height:0;max-height:none;margin:0;padding:8px;background:var(--wp--preset--color--warm-cream)}
.oshimiru-product-card .product-overview>.oshimiru-product-image.is-placeholder {min-height:110px}
.oshimiru-product-card .product-overview>.oshimiru-product-image>img {max-height:240px;object-fit:contain}
.oshimiru-product-card .product-manufacturer {color:var(--wp--preset--color--berry);font-size:13px;font-weight:700;margin:0 0 4px}
.oshimiru-product-card .product-title {font-size:clamp(21px,3cqi,26px);line-height:1.4;word-break:normal;line-break:strict;text-wrap:pretty;margin:0 0 6px}
.oshimiru-product-card .product-model {font-size:13px;line-height:1.6;margin:0 0 8px}
.oshimiru-product-card .product-tagline {font-size:15px;line-height:1.65;margin:8px 0;color:var(--wp--preset--color--berry)}
.oshimiru-product-card .product-badges {gap:6px;margin:8px 0}
.oshimiru-product-card .product-badges li {font-size:12px;padding:3px 8px}
.oshimiru-product-card .product-highlights {margin:12px 0;gap:6px}
.oshimiru-product-card .product-highlights>div {padding:8px 10px}
.oshimiru-product-card .product-highlights dt {font-size:13px;line-height:1.5}
.oshimiru-product-card .product-highlights dd {font-size:17px;line-height:1.5;margin-top:2px}
.oshimiru-product-card .product-description {font-size:15px;line-height:1.8;margin:10px 0}
.oshimiru-product-card .product-purchase {margin-top:12px;padding-top:10px}
.oshimiru-product-card .product-ad-label {font-size:12px;line-height:1.5;margin:0 0 6px;font-weight:400}
.oshimiru-product-card .product-ad-label span {display:inline;margin-left:8px}
.oshimiru-product-card .product-actions {margin-top:8px;display:grid;grid-template-columns:1fr}
.oshimiru-product-card .product-cta {min-height:52px;width:100%;padding:12px 16px;font-size:16px}
.oshimiru-product-card .product-insights {gap:10px;margin-top:16px}
.oshimiru-product-card .product-panel {padding:12px 16px}
.oshimiru-product-card .product-panel h4 {font-size:16px;margin:0 0 6px}
.oshimiru-product-card .product-panel li {font-size:15px;line-height:1.7;margin:3px 0}
.oshimiru-product-card .product-audience h4::before {content:'♡ ';color:var(--wp--preset--color--primary-pink)}
.oshimiru-product-card .product-features li::marker {content:'✓ ';color:var(--wp--preset--color--berry)}
.oshimiru-product-card .product-cautions {background:#fff4ed;border-left:2px solid var(--wp--preset--color--peach)}
.oshimiru-product-card .product-all-specs {margin-top:12px}
.oshimiru-product-card .product-all-specs summary {padding:12px 16px;font-size:15px}
.product-variant-compact .product-overview {display:block}
.product-variant-compact .product-overview>.oshimiru-product-image {margin:0 auto 12px}
.product-variant-compact .product-model,.product-variant-compact .product-tagline {display:none}
.product-media-link {display:flex;justify-content:center;align-items:center}
.product-media-link img {object-fit:contain;max-height:150px;width:auto}
.comparison-scroll table {table-layout:fixed}
.comparison-scroll th,.comparison-scroll td {min-width:280px;max-width:none;width:280px;padding:12px;vertical-align:top;background:white}
.comparison-scroll th:first-child {min-width:130px;width:130px;background:var(--wp--preset--color--soft-pink)}
.comparison-scroll tbody th {font-size:14px;font-weight:600}
.comparison-scroll thead th {border-top:3px solid #f8dde6}
.comparison-scroll .oshimiru-product-image {aspect-ratio:auto;padding:6px;min-height:100px;max-height:none;margin:0 0 10px}
.comparison-scroll .oshimiru-product-image.is-rakuten-affiliate-image {min-height:0;max-height:none}
.comparison-product-name {font-size:16px;line-height:1.6;color:var(--wp--preset--color--berry)}
.comparison-product-name a {color:inherit;text-decoration-thickness:1px}
.comparison-product-name a:hover {color:var(--wp--preset--color--primary-pink)}
.comparison-hint {font-size:14px;color:var(--wp--preset--color--berry)}
.comparison-scroll .product-ad-label {font-size:12px;margin:0 0 8px}
@container(max-width:570px) {
 .oshimiru-product-card .product-overview {grid-template-columns:1fr}
 .oshimiru-product-card .product-overview>.oshimiru-product-image {margin-inline:auto}
}
@media(max-width:767px) {
 .oshimiru-product-card {padding:16px}
 .oshimiru-product-card .product-overview {grid-template-columns:1fr;gap:14px}
 .oshimiru-product-card .product-overview>.oshimiru-product-image {margin-inline:auto}
 .oshimiru-product-card .product-title {font-size:22px}
 .oshimiru-product-card .product-panel {padding:12px}
}

.product-title-unit{white-space:nowrap}

/* SP card reference (2026-09-08): identity first, details on demand. */
.product-identity{min-width:0}
.product-desktop-panels{display:contents}
.product-mobile-details{display:none}
@media(max-width:767px){
 .oshimiru-product-card.product-variant-standard{padding:16px;border-radius:22px}
 .oshimiru-product-card.product-variant-standard .product-overview{display:grid;grid-template-columns:132px minmax(0,1fr);gap:10px 8px}
 .product-variant-standard .oshimiru-product-info{display:contents}
 .oshimiru-product-card.product-variant-standard .product-overview>.oshimiru-product-image{grid-column:1;align-self:center;width:100%;max-width:none;margin:0;padding:0;background:#fffdfb;border-radius:10px}
 .product-variant-standard .product-identity{grid-column:2;align-self:center}
 .product-variant-standard .oshimiru-product-info> :not(.product-identity){grid-column:1/-1}
 .oshimiru-product-card.product-variant-standard .product-manufacturer{display:inline-block;font-size:12px;line-height:1.5;padding:3px 9px;border-radius:9px;background:var(--wp--preset--color--soft-pink);margin:0 0 6px}
 .oshimiru-product-card.product-variant-standard .product-title{font-size:15px;line-height:1.5;margin:0 0 6px;overflow-wrap:anywhere;text-wrap:pretty}
 .oshimiru-product-card.product-variant-standard .product-model{font-size:11px;line-height:1.5;margin:0;overflow-wrap:anywhere}
 .oshimiru-product-card.product-variant-standard .product-tagline{display:block;margin:0;font-size:14px;line-height:1.65;font-weight:500}
 .oshimiru-product-card.product-variant-standard .product-badges{margin:0;gap:4px}
 .oshimiru-product-card.product-variant-standard .product-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:2px 0 0}
 .oshimiru-product-card.product-variant-standard .product-highlights:has(>div:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
 .product-variant-standard .product-highlights>div:nth-child(n+4){display:none}
 .oshimiru-product-card.product-variant-standard .product-highlights>div{padding:8px;border-radius:12px;background:var(--wp--preset--color--warm-cream)}
 .oshimiru-product-card.product-variant-standard .product-highlights dt{font-size:12px}
 .oshimiru-product-card.product-variant-standard .product-highlights dd{font-size:16px}
 .oshimiru-product-card.product-variant-standard .product-description{font-size:15px;line-height:1.7;margin:0}
 .oshimiru-product-card.product-variant-standard .product-purchase{margin:0;padding:0;border:0}
 .oshimiru-product-card.product-variant-standard .product-actions{margin-top:6px}
 .oshimiru-product-card.product-variant-standard .product-cta{height:56px;min-height:56px;padding:10px 14px;border-radius:16px}
 .oshimiru-product-card.product-variant-standard .product-insights{margin-top:14px;gap:0}
 .oshimiru-product-card.product-variant-standard .product-audience{padding:12px;background:var(--wp--preset--color--soft-pink)}
 .oshimiru-product-card.product-variant-standard .product-audience h4{font-size:16px;color:var(--wp--preset--color--berry)}
 .oshimiru-product-card.product-variant-standard .product-audience li{font-size:14px;line-height:1.65;margin:4px 0}
 .product-desktop-panels,.product-desktop-specs{display:none}
 .product-mobile-details{display:block}
 .product-mobile-details .product-panel{margin:10px;border:0}
 /* Unchanged larger official embeds remain full-width until an official small source is selected. */
 .oshimiru-product-card.product-variant-standard .product-overview:has(>.is-wide-official-image){grid-template-columns:1fr}
 .product-variant-standard .product-overview:has(>.is-wide-official-image)>.oshimiru-product-image{max-width:244px;margin-inline:auto}
 .product-variant-standard .product-overview:has(>.is-wide-official-image) .product-identity{grid-column:1}
 .comparison-scroll thead th{padding:8px}
 .comparison-scroll .oshimiru-product-image{padding:0;margin-bottom:6px;min-height:0}
 .comparison-scroll .comparison-product-name{font-size:15px;line-height:1.5}
}

@media(max-width:767px){.product-variant-standard .product-title-word{display:inline-block;max-width:100%;vertical-align:top}.product-variant-standard .product-title{ text-wrap:balance }}

/* Standard: specifications stay in details; one CTA spans both overview columns. */
.oshimiru-product-card.product-variant-standard>.product-purchase{width:100%;margin:14px auto 0;padding-top:12px;text-align:center}
.product-variant-standard>.product-purchase .product-actions{max-width:360px;margin:8px auto 0}
.product-variant-standard .product-all-specs>.product-description{padding:12px 16px;margin:0}
@media(max-width:767px){
 .product-variant-standard .product-model-unit{display:inline-block;max-width:100%;vertical-align:top}
 .oshimiru-product-card.product-variant-standard>.product-purchase{margin-top:12px;padding-top:0}
 .product-variant-standard>.product-purchase .product-actions{max-width:none}
 .oshimiru-product-card.product-variant-standard .product-title{text-wrap:pretty}
}

/* Related article images retain their intrinsic ratio at a reduced width. */
.related .related-list{display:grid;gap:14px;padding:0;margin:20px 0;list-style:none}
.related-list>li{margin:0;min-width:0}
.related-link{display:flex;align-items:center;gap:18px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--wp--preset--color--white);color:var(--wp--preset--color--heading);text-decoration:none}
.related-link:hover{background:var(--wp--preset--color--warm-cream);color:var(--wp--preset--color--berry)}
.related-media{flex:0 0 160px;min-width:0}
.related-media img.related-thumbnail{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:8px}
.related-title{min-width:0;font-size:17px;font-weight:700;line-height:1.7;overflow-wrap:anywhere}
.article-body>p mark,.article-body>ul mark,.article-body>ol mark{background:linear-gradient(transparent 55%,var(--wp--preset--color--soft-pink) 55%);color:var(--wp--preset--color--berry)}
@media(max-width:600px){.related-link{gap:12px;padding:12px}.related-media{flex-basis:104px}.related-title{font-size:15px;line-height:1.65}}

/* Keep archive cards level even when the block flow adds sibling margins. */
.article-grid>li{margin-block-start:0}

/* Official Rakuten embeds retain their source HTML and intrinsic image ratio.
   A consistent outer frame keeps landscape and square source images aligned. */
.oshimiru-product-card .product-overview>.oshimiru-product-image.is-rakuten-affiliate-image:not(.is-wide-official-image){height:144px;min-height:144px}
.comparison-scroll .oshimiru-product-image.is-rakuten-affiliate-image:not(.is-wide-official-image){height:144px;min-height:144px}
