/* 元サイトのCSSを優先し、ローカル版の操作に必要な状態だけ追加。 */
html { scroll-behavior: smooth; }
#category { scroll-margin-top: 80px; }
[data-local-menu="open"] { pointer-events: auto !important; }
[data-local-menu="open"] > div { opacity: 1 !important; transform: none !important; }
[data-local-menu="open"] > aside { transform: translateX(0) !important; }
[data-local-menu="closed"] { visibility: hidden; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* Locally saved product-click history, independent of the platform. */
.history-section[hidden], .history-section [hidden] { display:none !important; }
.history-section { padding:64px 0; background:#fff; color:var(--partner-text); }
.history-inner { max-width:1024px; padding:0 24px; margin:auto; }
.history-heading-row { display:flex; align-items:center; gap:24px; margin-bottom:32px; }
.history-icon { width:60px; height:60px; flex-shrink:0; display:grid; place-items:center; border-radius:50%; background:var(--partner-link); color:white; }
.history-heading-row h2 { margin:0; font-size:28px; line-height:1.75; font-weight:700; color:#1e293b; }
.history-subheading { display:flex; align-items:center; gap:12px; font-size:16px; line-height:1.75; font-weight:700; color:var(--partner-link); }
.history-subheading span { width:73px; height:1px; background:var(--partner-link); }
.history-carousel { position:relative; }
.history-track { display:flex; gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:2px; }
.history-track::-webkit-scrollbar { display:none; }
.history-card { flex:0 0 232px; width:232px; height:232px; border-radius:16px; overflow:hidden; scroll-snap-align:start; display:grid; place-items:center; color:var(--partner-link); background:#f5fafe; font-weight:700; text-align:center; }
.history-card img { width:232px; height:232px; object-fit:cover; }
.history-arrow { position:absolute; top:94px; width:44px; height:44px; display:grid; place-items:center; background:#fff; color:var(--partner-link); border:1px solid #e5e7eb; cursor:pointer; }
.history-prev { left:0; }.history-next { right:0; }
.history-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:24px; font-size:12px; line-height:1.7; }
.history-footer p { margin:0; }.history-footer button { flex-shrink:0; color:var(--partner-link); text-decoration:underline; cursor:pointer; padding:8px 0; }
.history-section a:focus-visible,.history-section button:focus-visible { outline:2px solid var(--partner-link); outline-offset:2px; }
@media(max-width:767px) {
 .history-section { padding:40px 0 64px; }
 .history-inner { padding:0 16px; }
 .history-heading-row { margin-bottom:24px; }
 .history-heading-row h2 { font-size:24px; }
 .history-carousel { margin:0 -16px; }
 .history-track { padding-left:max(16px,calc((100% - 232px)/2)); padding-right:max(16px,calc((100% - 232px)/2)); scroll-padding-left:max(16px,calc((100% - 232px)/2)); }
 .history-footer { align-items:flex-start; }
}
