  /* ===== SHOP LAYOUT ===== */
  .shop-hero{
    position:relative;background:radial-gradient(ellipse at top right,#0F1E3C 0%,var(--navy-deep) 55%);
    padding:48px 6vw 40px;overflow:hidden;
  }
  .shop-hero-inner{position:relative;z-index:1;max-width:1400px;margin:0 auto;}
  .crumb{color:var(--blue-light);font-size:0.82rem;margin-bottom:10px;}
  .crumb a{color:var(--white-soft);}
  .crumb a:hover{color:var(--blue-light);}
  .shop-hero h1{color:var(--white);font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:8px;}
  .shop-hero p{color:var(--white-soft);font-size:0.98rem;max-width:60ch;}

  .shop-wrap{max-width:1300px;margin:0 auto;padding:56px 6vw;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start;}

  .panel{background:var(--white);border-radius:var(--radius-lg);padding:30px;border:1px solid rgba(11,24,48,0.07);box-shadow:var(--shadow);margin-bottom:24px;}
  .panel h2{font-size:1.15rem;margin-bottom:6px;}
  .panel .sub{color:var(--ink-soft);font-size:0.87rem;margin-bottom:22px;}

  .toggle-row{display:flex;gap:12px;margin-bottom:20px;}
  .toggle-btn{
    flex:1;padding:16px;border-radius:14px;border:2px solid rgba(11,24,48,0.1);
    background:var(--paper);cursor:pointer;text-align:center;font-weight:700;font-size:0.92rem;
    transition:all .15s ease;color:var(--ink);
  }
  .toggle-btn .p{display:block;font-family:'IBM Plex Mono';font-weight:600;font-size:0.8rem;color:var(--ink-soft);margin-top:4px;}
  .toggle-btn.active{border-color:var(--blue);background:#E9F5FF;color:var(--blue-dark);}
  .toggle-btn.active .p{color:var(--blue-dark);}

  .field-row{margin-bottom:18px;}
  .field-row label{display:block;font-size:0.85rem;font-weight:600;margin-bottom:8px;color:var(--ink);}
  .qty-control{display:flex;align-items:center;gap:0;max-width:220px;}
  .qty-control button{
    width:42px;height:42px;border:1.5px solid rgba(11,24,48,0.15);background:var(--paper);
    font-size:1.1rem;font-weight:700;cursor:pointer;color:var(--ink);
  }
  .qty-control button:first-child{border-radius:10px 0 0 10px;}
  .qty-control button:last-child{border-radius:0 10px 10px 0;}
  .qty-control input{
    width:80px;height:42px;text-align:center;border:1.5px solid rgba(11,24,48,0.15);
    border-left:none;border-right:none;font-family:'IBM Plex Mono';font-weight:600;font-size:1rem;
  }

  .upload-zone{
    border:2px dashed rgba(30,159,255,0.35);border-radius:16px;padding:28px;text-align:center;
    background:#F7FBFF;cursor:pointer;margin-bottom:18px;
  }
  .upload-zone:hover{background:#EFF7FF;}
  .upload-zone .ico{font-size:1.8rem;margin-bottom:8px;}
  .upload-zone strong{display:block;font-size:0.92rem;color:var(--ink);}
  .upload-zone small{color:var(--ink-soft);font-size:0.8rem;}
  #fileName{margin-top:8px;font-size:0.82rem;color:var(--blue-dark);font-weight:600;}

  .addon-list{display:flex;flex-direction:column;gap:10px;}
  .addon-row{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 16px;border-radius:12px;background:var(--paper);border:1px solid rgba(11,24,48,0.06);
  }
  .addon-row label{display:flex;align-items:center;gap:10px;font-weight:600;font-size:0.9rem;cursor:pointer;}
  .addon-row input[type="checkbox"]{width:18px;height:18px;accent-color:var(--blue);}
  .addon-row .note{font-size:0.78rem;color:var(--ink-soft);font-weight:500;}

  /* Accessory cart */
  .article-row{
    display:grid;grid-template-columns:1.6fr 0.7fr 0.9fr 0.9fr;gap:10px;align-items:center;
    padding:12px 0;border-bottom:1px solid rgba(11,24,48,0.06);font-size:0.88rem;
  }
  .article-row:last-child{border-bottom:none;}
  .article-row .name{font-weight:600;}
  .article-row .unit{color:var(--ink-soft);font-family:'IBM Plex Mono';font-size:0.82rem;}
  .mini-qty{display:flex;align-items:center;gap:0;}
  .mini-qty button{width:28px;height:28px;border:1.5px solid rgba(11,24,48,0.15);background:var(--paper);cursor:pointer;font-weight:700;}
  .mini-qty button:first-child{border-radius:8px 0 0 8px;}
  .mini-qty button:last-child{border-radius:0 8px 8px 0;}
  .mini-qty input{width:38px;height:28px;text-align:center;border:1.5px solid rgba(11,24,48,0.15);border-left:none;border-right:none;font-family:'IBM Plex Mono';font-size:0.85rem;}
  .article-total{font-family:'IBM Plex Mono';font-weight:700;text-align:right;}

  /* Summary sticky */
  .summary{
    position:sticky;top:90px;
    background:linear-gradient(160deg,var(--navy-3),var(--navy-deep));
    border-radius:var(--radius-lg);padding:30px;color:var(--white);
    border:1px solid rgba(30,159,255,0.22);box-shadow:var(--glow);
  }
  .summary h2{color:var(--white);font-size:1.1rem;margin-bottom:20px;}
  .sum-row{display:flex;justify-content:space-between;font-size:0.9rem;padding:8px 0;color:var(--white-soft);border-bottom:1px solid rgba(255,255,255,0.08);}
  .sum-row.discount{color:#4FE3CE;}
  .sum-row.total{color:var(--white);font-weight:700;font-size:1.15rem;border-bottom:none;padding-top:16px;font-family:'IBM Plex Mono';}
  .sum-row .val{font-family:'IBM Plex Mono';font-weight:600;}
  .summary .btn{width:100%;justify-content:center;margin-top:18px;}
  .summary-note{font-size:0.78rem;color:var(--white-soft);margin-top:14px;line-height:1.5;}

  @media(max-width:960px){
    .shop-wrap{grid-template-columns:1fr;}
    .summary{position:relative;top:0;}
    .article-row{grid-template-columns:1.4fr 0.8fr 0.8fr;}
    .article-row .total-col{grid-column:1/-1;text-align:right;}
  }
