/* Bind the approved design to existing catalog markup and behavior. */
[hidden]{display:none!important}
body{background:#f3f7fa;color:#203e55}
.header-inner{width:100%;min-height:0;max-width:1480px;grid-template-columns:none}
.header .brand{min-width:0;white-space:normal}
.header .brand img{display:block;flex-shrink:0}
.header .brand small{margin-top:0}
.layout>main{width:auto;max-width:none;margin:0;padding:0;min-width:0}
.layout>#sidebar{display:block}
.global-nav{display:block;min-width:0;max-height:none;background:transparent;border:0;box-shadow:none;padding:0;inset:auto}
.nav-row>a{white-space:nowrap}
.nav-row button{flex:0 0 32px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:15px}
.section-head h1{font-size:29px;margin-bottom:14px}
.section-head h2{font-size:21px;margin:0}
.section-head>a{font-size:12px;font-weight:bold;color:var(--blue);white-space:nowrap}
.section-head>.result-count{font-size:12px;color:var(--muted)}
.section-head .eyebrow{display:none}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.product-card{box-shadow:none}
.product-image.product-thumb-wrap{height:auto;min-height:0;aspect-ratio:1/1.08;padding:12px;overflow:hidden;border-bottom:1px solid #edf1f4}
.product-image .product-thumb{position:static;display:block;width:100%;height:100%;aspect-ratio:auto;background:white}
.product-image .product-thumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.product-card .product-body{min-height:0;height:auto;padding:13px 14px 15px;gap:7px}
.product-card .product-body .series{min-height:0;margin:0;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-card .product-name{font-size:13px;line-height:1.65;font-weight:700;margin:0;min-height:2.0em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-card .product-facts{margin-top:auto;padding-top:7px;display:flex;font-size:10px;gap:8px}
.product-card .price{font-size:15px;line-height:1.4;color:var(--ink)}
.product-card .status{line-height:1.4;border-radius:5px;padding:4px 7px;font-size:10px}
.hero{min-height:0;background:none;border:0;border-radius:0;margin:0;display:block;box-shadow:none}
.home-guides{margin-top:0}
.home-news-layout{display:block}
.product-browser>.search-panel{padding:17px 20px;margin-bottom:18px;border-radius:12px;box-shadow:none}
.search-form{display:block}
.search-main{display:block}
.search-input{width:100%}
.advanced-filters{margin:12px 0}
.advanced-filters>summary{font-size:13px}
.filter-field{display:grid;gap:5px;font-size:11px;color:var(--muted)}
.filter-field select,.filter-field input{width:100%;font-size:12px}
.search-submit{background:var(--blue);color:white;font-size:12px;border-color:var(--blue);padding:8px 15px;min-height:44px}
.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:17px 0}
.sort-wrap .eyebrow{display:none}
.sort-select{font-size:12px}
.status-filters{display:flex;gap:6px;flex-wrap:wrap}
.status-filter{border:1px solid var(--line);border-radius:8px;background:white;min-height:36px;font-size:12px}
.status-filter.active{background:#dfedf7;color:#155f89;border-color:#7aadc9}
.page-button{min-width:40px;min-height:44px;border-radius:8px}
.page-button.active{background:var(--blue);color:white}
.directory-tools{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}
.directory-search{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.kana-filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.kana-filter{min-width:36px;min-height:36px;padding:4px 8px}
.kana-filter.active{background:#dfedf7;border-color:#7aadc9}
.directory-item{box-shadow:none}
.detail-layout{gap:28px}
.detail-gallery .detail-image{height:485px;max-height:60vh;aspect-ratio:auto!important;border:1px solid var(--line);border-radius:14px;padding:18px;background:white}
.detail-gallery .detail-image>img{position:static;width:100%;height:100%;object-fit:contain;object-position:center;cursor:zoom-in}
.detail-thumbnails{gap:8px;margin-top:10px}
.detail-thumbnail{height:65px;width:56px;padding:3px;border-radius:7px;flex:0 0 56px}
.detail-panel.detail-summary{padding:24px;box-shadow:none;position:static;border:1px solid var(--line);border-radius:14px}
.detail-price small{display:block;line-height:1.8;font-weight:normal;font-size:10px;color:var(--muted);margin-top:4px}
.detail-summary .fact-list{margin:0;grid-template-columns:95px minmax(0,1fr);font-size:12px;gap:0}
.fact-list dt,.fact-list dd{border-top:1px solid #e5edf3;border-bottom:0;padding:10px 0;line-height:1.7;margin:0}
.detail-summary .statusline{margin-bottom:12px}
.shop-actions,.shop-actions.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.shop-actions .button{font-size:12px;font-weight:bold;padding:10px 4px;border-radius:8px;min-height:44px;white-space:nowrap;text-align:center;display:flex;justify-content:center;align-items:center;border:0}
.shop-actions .shop-rakuten{background:#bf2026;color:#fff}
.shop-actions .shop-amazon{background:#1b222a;color:#fff}
.shop-actions .shop-amiami{background:#ffb020;color:#172633}
.secondary-actions .button{font-size:12px;min-height:44px;display:flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:8px;padding:8px}
.secondary-actions .share-button{margin-top:0}
.detail-lower{margin-top:28px}
.panel{box-shadow:none}
.product-introduction,.detail-section{background:white;padding:28px;border:1px solid var(--line);border-radius:14px}
.product-introduction{margin-top:28px}
.product-introduction p,.detail-section p{font-size:14px;white-space:pre-line}
.article-copy table{border-collapse:collapse;min-width:640px;width:100%;font-size:12px;line-height:1.8}
.article-copy .table-scroll{margin:23px 0}
.article-copy img{max-width:100%}
.article-copy .price-table-thumbnail img{height:100%;width:100%}
.article-copy .advertising-disclosure{margin-top:0;margin-bottom:23px;font-size:12px;color:var(--muted)}
.article-copy .table-scroll td,.article-copy .table-scroll th{vertical-align:middle;text-align:left}
.table-swipe-hint{display:none;position:sticky;top:12px;z-index:3;width:max-content;max-width:100%;padding:6px 12px;margin-bottom:-15px;border-radius:20px;background:#203e55ed;color:#fff;font-size:11px;pointer-events:none}
.table-swipe-hint.is-visible{display:block}
.gallery-lightbox{z-index:1000}
.gallery-lightbox.open{display:flex}
.footer{width:100%;max-width:1480px}
@media(min-width:1600px){.product-image.product-thumb-wrap{aspect-ratio:1/1.04}}
@media(max-width:1179px){.layout>#sidebar{display:none}.global-nav{display:block;position:static}.drawer .global-nav{display:block}.header-inner{width:100%}}
@media(max-width:800px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-gallery .detail-image{height:400px}.detail-summary .fact-list{grid-template-columns:75px 1fr}.detail-panel.detail-summary{padding:18px}}
@media(max-width:560px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.product-image.product-thumb-wrap{aspect-ratio:1/1.12;padding:9px}.product-card .product-body{padding:10px;gap:5px}.product-card .product-name{font-size:11px}.product-card .price{font-size:13px}.product-card .product-facts{font-size:9px;gap:4px;padding-top:5px}.section-head h1{font-size:25px}.section-head h2{font-size:18px}.detail-gallery .detail-image{height:430px;max-height:65vh}.detail-layout{grid-template-columns:1fr}.detail-summary .fact-list{grid-template-columns:85px 1fr}.product-introduction,.detail-section{padding:20px 16px}.shop-actions,.shop-actions.three{grid-template-columns:repeat(3,minmax(0,1fr))}.header .brand>span{display:block}.section-head{flex-wrap:wrap}.list-toolbar{align-items:flex-start}.detail-lower{grid-template-columns:1fr}}
