/* Upper area Journal-like rebuild */
:root{
  --jl-bg:#f6f7fb;
  --jl-card:#ffffff;
  --jl-text:#111827;
  --jl-muted:#6b7280;
  --jl-line:#e5e7eb;
  --jl-soft:#f8fafc;
  --jl-dark:#111827;
  --jl-accent:#ef4444;
  --jl-accent-dark:#dc2626;
  --jl-radius:18px;
  --jl-shadow:0 10px 24px rgba(15,23,42,.05);
}
body{background:var(--jl-bg);color:var(--jl-text)}
.container{width:min(100%,1320px);margin:0 auto;padding:0 16px}
.jl-page *{box-sizing:border-box}
.jl-page a{text-decoration:none}
.jl-page img{max-width:100%;display:block}

.jl-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:0 16px;border-radius:12px;border:0;
  background:var(--jl-accent);color:#fff;font-weight:800;cursor:pointer
}
.jl-btn:hover{background:var(--jl-accent-dark)}
.jl-btn.jl-btn-secondary{background:#fff;color:var(--jl-text);border:1px solid var(--jl-line)}

.jl-card{background:#fff;border:1px solid var(--jl-line);border-radius:var(--jl-radius);box-shadow:var(--jl-shadow)}
.jl-kicker{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#fff1f2;color:#be123c;font-size:12px;font-weight:800}

/* Header */
.jl-topbar{background:#111827;color:#fff;font-size:13px}
.jl-topbar-inner{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:9px 0}
.jl-topbar-left,.jl-topbar-right{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.jl-topbar a{color:#fff}

.jl-header{background:#fff;border-bottom:1px solid var(--jl-line)}
.jl-header-inner{display:grid;grid-template-columns:220px 1fr auto;gap:20px;align-items:center;padding:16px 0}
.jl-logo img{max-height:52px}
.jl-search{display:flex;gap:10px;align-items:center}
.jl-search input{flex:1;min-width:0;padding:13px 15px;border:1px solid #d8dee8;border-radius:12px;background:#fff}
.jl-search button{min-width:110px}
.jl-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.jl-action{display:flex;flex-direction:column;color:var(--jl-text)}
.jl-action strong{font-size:14px}
.jl-action span{font-size:12px;color:var(--jl-muted)}

.jl-nav-wrap{background:#fff;border-bottom:1px solid var(--jl-line)}
.jl-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.jl-nav>a,.jl-nav button{
  display:inline-flex;align-items:center;padding:13px 14px;border:0;background:transparent;
  border-radius:12px;color:var(--jl-text);font-weight:800;cursor:pointer
}
.jl-nav>a:hover,.jl-nav button:hover,.jl-menu.open>button{background:var(--jl-soft)}
.jl-menu{position:relative}
.jl-dropdown{
  display:none;position:absolute;top:100%;left:0;z-index:50;
  width:min(980px,calc(100vw - 32px));padding:18px;margin-top:10px;
  background:#fff;border:1px solid var(--jl-line);border-radius:22px;box-shadow:0 20px 40px rgba(15,23,42,.12)
}
.jl-menu.open .jl-dropdown{display:block}
.jl-dropdown-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.jl-drop-col h4{margin:0 0 10px;font-size:16px}
.jl-drop-col a{display:block;padding:7px 0;color:#475569}
.jl-drop-col a:hover{color:#111827}
.jl-drop-banner{display:block;border-radius:16px;overflow:hidden;position:relative;min-height:220px;background:#111827}
.jl-drop-banner img{width:100%;height:220px;object-fit:cover}
.jl-drop-banner span{position:absolute;left:14px;bottom:14px;background:rgba(17,24,39,.8);color:#fff;padding:10px 12px;border-radius:12px;font-weight:800}

.jl-mobile-head{display:none;background:#fff;border-bottom:1px solid var(--jl-line)}
.jl-mobile-head-inner{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0}
.jl-mobile-head .jl-logo img{max-height:40px}
.jl-mobile-search{padding-bottom:12px}
.jl-mobile-search form{display:flex;gap:10px}
.jl-mobile-search input{flex:1;min-width:0;padding:12px 14px;border:1px solid #d8dee8;border-radius:12px;background:#fff}

/* Upper home */
.jl-page{margin-top:18px}
.jl-home-grid{display:grid;grid-template-columns:285px 1fr 295px;gap:20px;align-items:start}
.jl-side-cats{padding:0 !important;overflow:hidden}
.jl-side-cats-head{padding:18px 18px 14px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#ffffff,#fbfcfe)}
.jl-side-cats-head h3{margin:0;font-size:20px;font-weight:800;letter-spacing:.01em}
.jl-side-cats-inner{padding:8px}
.jl-cat-root{margin-bottom:6px;border-radius:14px;overflow:hidden;border:1px solid transparent;transition:all .18s ease}
.jl-cat-root.active{background:#f8fafc;border-color:#e5e7eb}
.jl-cat-row{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;min-height:48px;padding:0 12px;border-radius:12px;transition:background .18s ease}
.jl-cat-row:hover{background:#f8fafc}
.jl-cat-root.active .jl-cat-row{background:#f3f4f6}
.jl-cat-title{flex:1;color:var(--jl-text);font-weight:700;font-size:14px;line-height:1.35}
.jl-cat-title:hover{color:#111827}
.jl-cat-toggle{width:28px;height:28px;border-radius:999px;border:1px solid #e5e7eb;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;line-height:1;color:#374151;background:#fff;flex:0 0 28px;transition:all .18s ease}
.jl-cat-root.active .jl-cat-toggle{background:#111827;color:#fff;border-color:#111827}
.jl-cat-children{display:none;padding:4px 10px 10px 16px}
.jl-cat-children a{display:flex;align-items:center;min-height:38px;padding:0 10px 0 14px;margin:3px 0;border-radius:10px;color:#4b5563;font-size:13px;position:relative;transition:all .18s ease}
.jl-cat-children a:before{content:'';position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:999px;background:#cbd5e1;transform:translateY(-50%)}
.jl-cat-children a:hover{background:#ffffff;color:#111827}

.jl-hero{position:relative;overflow:hidden;min-height:500px;background:#111827;background-size:cover;background-position:center}
.jl-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,24,39,.82),rgba(17,24,39,.30))}
.jl-hero-content{position:relative;z-index:1;color:#fff;padding:36px;max-width:620px}
.jl-hero h1{margin:12px 0;font-size:44px;line-height:1.08}
.jl-hero p{margin:0 0 18px;color:#e5e7eb;line-height:1.8}
.jl-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.jl-feature-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.jl-feature{background:#fff;border:1px solid var(--jl-line);border-radius:16px;padding:16px}
.jl-feature strong{display:block;margin-bottom:6px;color:var(--jl-text)}
.jl-feature span{display:block;color:var(--jl-muted);font-size:14px}

.jl-side-promos{padding:14px;display:grid;gap:12px}
.jl-promo{position:relative;min-height:145px;border-radius:16px;overflow:hidden;background:#1f2937}
.jl-promo-img-wrap{position:absolute;inset:0;overflow:hidden}
.jl-promo-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.jl-promo-fallback{position:absolute;inset:0;background:#1f2937}
.jl-promo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,24,39,.18),rgba(17,24,39,.76))}
.jl-promo-content{position:absolute;left:14px;right:14px;bottom:14px;color:#fff;z-index:1}
.jl-promo-content strong{display:block;font-size:18px}
.jl-promo-content span{display:block;color:#e5e7eb;font-size:14px;margin-top:4px}

.jl-banner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jl-banner-grid a{display:block;overflow:hidden}
.jl-banner-grid img{width:100%;height:170px;object-fit:cover}
.jl-banner-grid strong{display:block;padding:12px 14px;color:var(--jl-text)}
.jl-section{margin-top:28px}
.jl-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.jl-section-head h2{margin:0;font-size:28px;color:var(--jl-text)}
.jl-section-head p{margin:6px 0 0;color:var(--jl-muted)}
.jl-section-head a{color:var(--jl-text);font-weight:800}
.jl-home-two{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.jl-box{padding:18px}
.jl-brand-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.jl-brand{padding:16px;text-align:center}
.jl-brand img{width:100%;height:72px;object-fit:contain;margin-bottom:10px}

/* Shared products */
.jl-prod-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.jl-prod{background:#fff;border:1px solid #e8ebf0;border-radius:16px;overflow:hidden;transition:transform .15s ease, box-shadow .15s ease}
.jl-prod:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.08)}
.jl-prod-image{position:relative;display:block;background:#f8fafc}
.jl-prod-image img{width:100%;height:250px;object-fit:cover}
.jl-status{position:absolute;top:12px;left:12px;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800;background:#dcfce7;color:#166534}
.jl-status.out{background:#fee2e2;color:#991b1b}
.jl-status.pre{background:#ffedd5;color:#c2410c}
.jl-status.depot{background:#dbeafe;color:#1d4ed8}
.jl-status.factory{background:#f3e8ff;color:#7e22ce}
.jl-prod-badges{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px 0}
.jl-chip{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}
.jl-chip.new{background:#dbeafe;color:#1d4ed8}
.jl-chip.hot{background:#fee2e2;color:#b91c1c}
.jl-chip.featured{background:#fef3c7;color:#b45309}
.jl-prod-body{padding:14px}
.jl-prod-body h3{margin:0 0 8px;font-size:17px;line-height:1.35}
.jl-prod-body h3 a{color:var(--jl-text)}
.jl-prod-meta{color:var(--jl-muted);font-size:12px;line-height:1.6}
.jl-price{display:flex;align-items:flex-end;gap:10px;margin-top:12px}
.jl-price .new{font-size:22px;font-weight:900;color:var(--jl-text);line-height:1}
.jl-price .old{font-size:14px;color:#9ca3af;text-decoration:line-through}
.jl-prod-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

@media (max-width:1100px){
  .jl-home-grid{grid-template-columns:240px 1fr}
  .jl-side-promos{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
  .jl-prod-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jl-brand-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:980px){
  .jl-header,.jl-nav-wrap,.jl-topbar{display:none}
  .jl-mobile-head{display:block}
  .jl-home-grid,.jl-home-two{grid-template-columns:1fr}
  .jl-side-promos{grid-template-columns:1fr}
  .jl-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jl-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jl-prod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jl-feature-row{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .jl-banner-grid,.jl-brand-grid,.jl-feature-row,.jl-prod-grid{grid-template-columns:1fr}
  .jl-hero-content{padding:22px}
  .jl-hero h1{font-size:25px}
  .jl-hero-actions,.jl-prod-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .jl-prod-actions form{display:grid !important;grid-template-columns:1fr;gap:10px}
}
