/* ---- Hero ---- */
.hero{position:relative;width:100%;overflow:hidden;background:#2A2A2A;transition:background 1s;}
.hero-slide{display:none;position:relative;}
.hero-slide.active{display:block;}
.hero-slide-inner{width:100%;max-width:1600px;margin:0 auto;padding:0 var(--sp-12);position:relative;display:flex;align-items:center;aspect-ratio:2/1;max-height:500px;text-decoration:none;color:inherit;}
.hero-content{position:relative;z-index:3;max-width:50%;}
.hero-maker{font-family:var(--font-en);font-size:var(--text-xs);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:var(--sp-2);opacity:0.7;text-shadow:0 1px 4px rgba(0,0,0,0.5),0 0 12px rgba(0,0,0,0.3);}
.hero-title{font-size:clamp(24px,3.5vw,40px);font-weight:700;line-height:1.3;margin-bottom:var(--sp-3);white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,0.6),0 2px 8px rgba(0,0,0,0.4),0 4px 20px rgba(0,0,0,0.25);}
.hero-meta{display:flex;gap:var(--sp-3);font-size:var(--text-xs);margin-bottom:var(--sp-5);align-items:center;flex-wrap:wrap;opacity:0.8;text-shadow:0 1px 4px rgba(0,0,0,0.5),0 0 12px rgba(0,0,0,0.3);}
.hero-meta .product-badge{position:static;font-size:10px;}
.hero-meta .product-court{font-size:var(--text-xs);padding:2px 8px;border-radius:4px;}
.hero-cta{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-8);border-radius:8px;font-size:var(--text-sm);font-weight:600;transition:all 0.2s;border:1px solid;letter-spacing:0.04em;}
.hero-cta svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}
.hero-blur-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hero-blur-bg img{width:100%;height:100%;object-fit:cover;filter:blur(30px);opacity:1;animation:heroBgPan 12s linear infinite;}
@keyframes heroBgPan{
  0%  {transform:scale(1.25) translateY(12%);}
  100%{transform:scale(1.25) translateY(-12%);}
}
.hero-img-wrap{position:absolute;right:var(--sp-8);top:0;bottom:0;width:50%;max-width:520px;z-index:1;overflow:hidden;}
.hero-img{width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 20px 60px rgba(0,0,0,0.3));}
.hero-nav{display:flex;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) 0;}
.hero-dot{width:8px;height:8px;border-radius:50%;background:var(--border);cursor:pointer;transition:all 0.3s;}
.hero-dot.active{background:var(--accent);width:24px;border-radius:4px;}
@media(max-width:768px){
  .hero-slide-inner{flex-direction:column;padding:0;aspect-ratio:auto;min-height:auto;}
  .hero-img-wrap{position:relative;right:0;width:100%;height:270px;max-width:none;opacity:1;overflow:hidden;}
  .hero-img{width:100%;height:100%;object-fit:contain;object-position:center;padding:var(--sp-1);}
  .hero-content{max-width:100%;padding:var(--sp-2) var(--sp-4) var(--sp-3);}
  .hero-title{font-size:clamp(18px,5vw,28px);white-space:normal;}
  .hero-cta{display:none;}
}
/* ---- Quick Nav ---- */
.quick-nav{display:flex;justify-content:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-8);flex-wrap:wrap;}
.quick-nav-btn{padding:var(--sp-3) var(--sp-8);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-family:var(--font-jp);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:var(--sp-2);}
.quick-nav-btn:hover{border-color:var(--border-active);background:var(--bg-hover);}
.quick-nav-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;}
/* ---- Nav Popup ---- */
.nav-popup-overlay{display:none;position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,0.4);}
.nav-popup-overlay.open{display:flex;align-items:center;justify-content:center;}
.nav-popup{background:var(--bg-card);border-radius:12px;max-width:640px;width:92%;max-height:80vh;overflow-y:auto;padding:var(--sp-8);}
.nav-popup-title{font-family:var(--font-en);font-size:var(--text-lg);font-weight:700;margin-bottom:var(--sp-6);display:flex;align-items:center;justify-content:space-between;}
.nav-popup-close{background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:var(--sp-2);}
.nav-popup-close svg{width:20px;height:20px;}
.nav-popup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);}
.nav-popup-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:6px;font-size:var(--text-sm);color:var(--text-primary);text-decoration:none;transition:background 0.15s;}
.nav-popup-item:hover{background:var(--bg-hover);}
.nav-popup-item-count{font-size:var(--text-xs);color:var(--text-tertiary);margin-left:auto;}
@media(max-width:600px){.nav-popup-grid{grid-template-columns:repeat(2,1fr);}.nav-popup{padding:var(--sp-4);}}
/* ---- Content Rows ---- */
.content-section{margin:0 auto;padding:var(--sp-8) var(--sp-8) 0;}
.row-section{margin-bottom:var(--sp-10);}
.row-title{font-family:var(--font-en);font-size:var(--text-xl);font-weight:700;letter-spacing:-0.02em;display:flex;align-items:baseline;gap:var(--sp-3);}
.row-title-jp{font-size:var(--text-sm);font-weight:400;color:var(--text-secondary);}
.row-scroll{display:flex;gap:var(--sp-3);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 var(--sp-8) var(--sp-2);}
.row-scroll::-webkit-scrollbar{display:none;}
.top-card{flex-shrink:0;width:340px;scroll-snap-align:start;text-decoration:none;color:var(--text-primary);transition:transform 0.2s;}
.top-card:hover{transform:translateY(-4px);}
.top-card-img{width:340px;height:340px;border-radius:8px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);margin-bottom:var(--sp-2);position:relative;}
.top-card-img img{width:100%;height:100%;object-fit:contain;padding:var(--sp-3);transition:transform 0.3s;}
.top-card:hover .top-card-img img{transform:scale(1.05);}
.top-card-img .product-badge{position:absolute;top:var(--sp-2);left:var(--sp-2);z-index:2;}
.top-card-meta{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:2px;flex-wrap:wrap;}
.top-card-meta .product-court{font-size:10px;padding:1px 6px;background:var(--accent-tag);border-radius:3px;color:var(--text-secondary);}
.top-card-meta .top-card-date{font-size:10px;color:var(--text-tertiary);}
.top-card-maker{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:0.04em;}
.top-card-title{font-size:var(--text-xs);line-height:1.5;color:var(--text-secondary);margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
@media(max-width:768px){.content-section{padding:var(--sp-4) var(--sp-4) 0;}.top-card{width:150px;}.top-card-img{width:150px;height:150px;overflow:hidden;}.row-scroll{gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-2);}.row-header{padding:0 var(--sp-4);}.update-list{padding:0 var(--sp-4);grid-template-columns:1fr;}.row-scroll-arrow{display:none;}.update-timestamp{font-size:var(--text-base);}.quick-nav{padding:var(--sp-4);gap:var(--sp-2);}.quick-nav-btn{padding:var(--sp-2) var(--sp-5);font-size:var(--text-xs);}.row-title{font-size:var(--text-lg);}}
@media(hover:none){.row-scroll-arrow{display:none !important;}}
/* ---- Update Timestamp ---- */
.update-timestamp{text-align:center;font-size:var(--text-xl);font-weight:700;font-family:var(--font-en);color:var(--text-tertiary);padding:0 var(--sp-8);letter-spacing:-0.01em;}
.update-timestamp-label{font-size:var(--text-xs);font-weight:400;margin-right:var(--sp-2);}
/* ---- Row Header ---- */
.row-header{display:flex;align-items:baseline;justify-content:space-between;max-width:1600px;padding:0 var(--sp-8);margin-bottom:var(--sp-4);}
.row-see-all{font-size:var(--text-xs);color:var(--text-tertiary);text-decoration:none;white-space:nowrap;transition:color 0.2s;}
.row-see-all:hover{color:var(--text-primary);}
/* ---- Scroll Arrow ---- */
.row-scroll-wrap{position:relative;}
.row-scroll-arrow{position:absolute;top:0;bottom:0;width:48px;z-index:10;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity 0.3s;background:linear-gradient(90deg,transparent,rgba(250,250,248,0.85) 40%);border:none;right:0;}
.row-scroll-arrow-left{left:0;right:auto;background:linear-gradient(270deg,transparent,rgba(250,250,248,0.85) 40%);}
.row-scroll-wrap:hover .row-scroll-arrow{opacity:1;}
.row-scroll-arrow:hover{opacity:1 !important;}
.row-scroll-arrow svg{width:28px;height:28px;stroke:var(--text-primary);fill:none;stroke-width:2;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.15));transition:transform 0.2s;}
.row-scroll-arrow:hover svg{transform:scale(1.15);}
.row-scroll-arrow.hidden{pointer-events:none;opacity:0 !important;}
/* ---- Update List ---- */
.update-list-section{margin-bottom:var(--sp-10);}
.update-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-3);padding:0 var(--sp-8);}
.update-item{display:flex;gap:var(--sp-3);padding:var(--sp-3);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text-primary);transition:all 0.2s;align-items:center;}
.update-item:hover{border-color:var(--border-active);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.06);}
.update-item-img{width:72px;height:72px;flex-shrink:0;border-radius:6px;overflow:hidden;background:var(--bg-filter);}
.update-item-img img{width:100%;height:100%;object-fit:contain;padding:4px;}
.update-item-body{flex:1;min-width:0;}
.update-item-top{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:2px;flex-wrap:wrap;}
.update-item-date{font-size:10px;color:var(--text-tertiary);font-family:var(--font-en);}
.update-item-title{font-size:var(--text-xs);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
/* ---- Clip Toast ---- */
.clip-toast{position:fixed;bottom:var(--sp-8);left:50%;transform:translateX(-50%) translateY(20px);background:var(--text-primary);color:white;padding:var(--sp-3) var(--sp-6);border-radius:8px;font-size:var(--text-sm);opacity:0;pointer-events:none;transition:all 0.3s;z-index:9999;white-space:nowrap;}
.clip-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
/* ---- Rec Cards (For You) ---- */
.rec-card{flex-shrink:0;width:190px;scroll-snap-align:start;}
.rec-card-link{display:block;text-decoration:none;color:inherit;}
.rec-card-img{width:190px;height:190px;border-radius:8px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);margin-bottom:var(--sp-2);position:relative;}
.rec-card-img img{width:100%;height:100%;object-fit:contain;padding:var(--sp-2);transition:transform 0.3s;}
.rec-card:hover .rec-card-img img{transform:scale(1.05);}
.rec-card-maker{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:0.04em;}
.rec-card-title{font-size:var(--text-xs);line-height:1.5;color:var(--text-secondary);margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-clamp:2;}
@media(max-width:768px){.rec-card{width:120px;}.rec-card-img{width:120px;height:120px;}}
