/* 公開サイトの共通操作部品。採用済みの紺・金の配色を使い、主操作と副操作を区別する。 */
:root{--public-primary:#88631f;--public-primary-hover:#6d4f19;--public-on-primary:#fff;--public-secondary:#13263f;--public-subtle:#f6f0e4;--public-action-line:#b39b6a}
html body :is(a.gold-button,a.row-link,a.download-link,a.btn-gold,a.download,a.l-nav__cta)[class]{background:var(--public-primary);background-image:none;border:1px solid var(--public-primary);color:var(--public-on-primary);border-radius:6px;box-shadow:none;text-decoration:none}
html body :is(a.gold-button,a.row-link,a.download-link,a.btn-gold,a.download,a.l-nav__cta)[class]:hover{background:var(--public-primary-hover);border-color:var(--public-primary-hover);color:var(--public-on-primary);box-shadow:none}
html body :is(a.outline-button,a.btn-outline,a.btn-demo)[class]{background:transparent;background-image:none;color:var(--public-secondary);border:1px solid var(--public-action-line);border-radius:6px;box-shadow:none}
html body :is(a.outline-button,a.btn-outline,a.btn-demo)[class]:hover{background:var(--public-subtle);color:var(--public-secondary);border-color:var(--public-primary);transform:none;filter:none;box-shadow:none}
html body a.btn-demo[class]::before{border-left-color:currentColor}
html body :is(a.gold-button,a.outline-button,a.btn-gold,a.btn-outline,a.btn-demo,a.download-link,a.download)[class]{min-height:44px}
html body :is(a,button,input,select,textarea):focus-visible{outline:3px solid #c59c43;outline-offset:4px}

/* ヘッダーの補助操作をひとまとまりにし、製品内の移動先を保つ。 */
.site-header .header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
@media(min-width:761px){
 .site-header .header-inner{gap:18px}
 .site-header .header-actions{order:2}
 .site-header nav{order:1;margin-left:auto;gap:clamp(12px,1.4vw,22px)}
 .site-header[data-product-nav=lumina] .brand{font-size:17px}
 .site-header[data-product-nav=lumina] nav{gap:14px;font-size:13px}
}
@media(min-width:761px) and (max-width:1050px){
 .site-header nav{flex-basis:100%;justify-content:center;order:3}
 .site-header .header-actions{margin-left:auto}
}
@media(max-width:760px){
 .site-header .header-actions{margin-left:auto}
 .site-header .menu-toggle{margin-left:0}
}

/* 製品名までのスクロールを減らし、表示切替と件数を同じ行に並べる。 */
html body main.downloads-main{padding-top:32px}
html body .downloads .download-title{padding-bottom:18px;margin-bottom:18px}
html body .downloads .download-layout{margin-top:20px}
html body .downloads .download-results{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;column-gap:16px}
html body .downloads .download-view{grid-column:2;grid-row:1;margin-bottom:18px}
html body .downloads .results-heading{grid-column:1;grid-row:1;margin-bottom:18px}
html body .downloads :is(#download-groups,#download-empty,#download-pagination){grid-column:1/-1}
html body .downloads .download-card .product-category{margin-bottom:14px}

/* 狭い見出しの末尾だけが次行へ送られないようにする。 */
html body .lp-hero .lp-hero__title{font-size:clamp(36px,4.2vw,58px);text-wrap:balance}
html body .lp-section h2{text-wrap:balance}
@media(max-width:560px){
 html body .lp-hero .lp-hero__title{font-size:36px}
 html body .downloads .download-results{column-gap:10px}
 html body .downloads .download-view button{padding:8px 12px}
}
html[data-theme=dark] body :is(a.outline-button,a.btn-outline,a.btn-demo)[class]{color:#f0d398;border-color:#a99160;background:transparent}
html[data-theme=dark] body :is(a.outline-button,a.btn-outline,a.btn-demo)[class]:hover{background:#24374f}
html body .lp-section .headline-part{display:inline-block;white-space:nowrap}

/* Language URLs stay usable without JavaScript. */
.language-toggle,.locale-links a{text-decoration:none;cursor:pointer}.locale-links{display:flex;justify-content:center;padding:16px}.language-note{font-size:13px;line-height:1.7;padding:12px 16px;border-left:3px solid var(--public-primary,#88631f);background:var(--public-subtle,#f6f0e4);color:var(--navy,#13263f)}
