:root{
      --bg:#0b0d11;
      --text:#e9eef7;
      --muted:#a8b3c7;
      --line:rgba(255,255,255,.08);
      --shadow: 0 12px 30px rgba(0,0,0,.45);
      --r:18px;

      --overlay: rgba(0,0,0,.72);
      --overlay2: rgba(0,0,0,.82);
      --panel: rgba(0,0,0,.28);
      --panelHover: rgba(255,255,255,.05);
    }

    *{box-sizing:border-box}
    html,body{height:100%}

    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
      background: var(--bg);
      color:var(--text);
      overflow:hidden;
      position:relative;
      isolation:isolate;
    }

    body::before{
      content:"";
      position:fixed;
      inset:-20vh -20vw;
      z-index:-1;
      pointer-events:none;
      background:
        radial-gradient(1100px 700px at 35% -10%, rgba(50,220,150,.25), transparent 55%),
        radial-gradient(900px 600px at 75% 10%, rgba(120,90,255,.22), transparent 55%),
        var(--bg);
      filter: blur(18px) saturate(1.05);
      transform: translateZ(0);
      will-change: transform;
    }

    /* scrollbars */
    *{
      scrollbar-width: thin;
      scrollbar-color: rgba(255,255,255,.18) rgba(0,0,0,.25);
    }
    *::-webkit-scrollbar{width:10px;height:10px}
    *::-webkit-scrollbar-track{background:rgba(0,0,0,.25); border-radius:999px}
    *::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18); border-radius:999px; border:2px solid rgba(0,0,0,.25)}
    *::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.25)}

    .app{display:grid; grid-template-columns: 280px 1fr; height:100vh; gap:16px; padding:16px;}

    /* ===== Sidebar ===== */
    .sidebar{
      background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
      border:1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
      overflow:hidden;
      display:flex;
      flex-direction:column;
      min-height:0;
    }
    .sb-top{
      padding:18px 18px 10px;
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      flex:0 0 auto;
    }
    .brand{display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.4px;}
    .dot{width:10px;height:10px;border-radius:50%; background:linear-gradient(135deg,#22c55e,#60a5fa);}
    .pill{
      padding:8px 10px; border-radius:999px;
      background:rgba(255,255,255,.06);
      border:1px solid var(--line);
      color:var(--muted);
      font-size:12px;
      white-space:nowrap;
    }

    .sb-nav{padding:6px; display:grid; gap:6px; flex:0 0 auto;}
    .nav-item{
      display:flex; align-items:center; gap:10px;
      padding:10px 12px;
      border-radius:12px;
      color:var(--muted);
      text-decoration:none;
      border:1px solid transparent;
    }
    .nav-item:hover{background:rgba(255,255,255,.05); color:var(--text);}
    .nav-item.active{
      background:rgba(34,197,94,.12);
      border-color: rgba(34,197,94,.22);
      color:var(--text);
    }

    .sb-scroll{
      flex:1 1 auto;
      min-height:0;
      overflow:auto;
      padding:6px 6px 10px;
      position:relative;
    }
    .sb-scroll:before,
    .sb-scroll:after{
      content:"";
      position:sticky;
      left:0; right:0;
      height:14px;
      pointer-events:none;
      z-index:2;
      display:block;
    }
    .sb-scroll:before{
      top:0;
      background: linear-gradient(180deg, rgba(11,13,17,.95), rgba(11,13,17,0));
    }
    .sb-scroll:after{
      bottom:0;
      background: linear-gradient(0deg, rgba(11,13,17,.95), rgba(11,13,17,0));
    }

    .sb-card{
      margin:0 6px 10px;
      padding:12px;
      border-radius:16px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.22);
    }
    .sb-card h3{
      margin:0 0 6px;
      font-size:13px;
      font-weight:950;
      letter-spacing:.2px;
    }
    .sb-card p{
      margin:0;
      color:var(--muted);
      font-size:12px;
      line-height:1.4;
      white-space:pre-line;
    }

    /* ===== Main ===== */
    .main{
      background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
      border:1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
      overflow:hidden;
      display:flex;
      flex-direction:column;
      min-width:0;
      min-height:0;
    }

    .topbar{
      padding: calc(16px + env(safe-area-inset-top)) 18px 16px;
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      border-bottom:1px solid var(--line);
      background: linear-gradient(180deg, rgba(34,197,94,.14), rgba(0,0,0,0));
      flex:0 0 auto;
    }
    .top-left{display:flex; align-items:center; gap:10px; min-width:0}
    .h-title{font-weight:900; font-size:18px; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
    .sub{color:var(--muted); font-size:12px; margin-top:4px}

    .top-right{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}

    .cartBtn{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 12px;
      border-radius:999px;
      background:rgba(0,0,0,.28);
      border:1px solid var(--line);
      color:var(--text);
      cursor:pointer;
      font-weight:900;
      white-space:nowrap;
      min-height:44px;
      line-height:1.1;
    }
    .cartBtn:hover{background:rgba(255,255,255,.06)}
    .cartBadge{
      padding:4px 8px;
      border-radius:999px;
      background:rgba(34,197,94,.18);
      border:1px solid rgba(34,197,94,.25);
      color:var(--text);
      font-size:12px;
      font-weight:900;
      line-height:1;
      min-width:24px;
      text-align:center;
    }

    /* ✅ shipping country select (same as About) */
    .shipCountry{
      padding:10px 12px;
      border-radius:999px;
      background:rgba(0,0,0,.25);
      border:1px solid var(--line);
      color:var(--text);
      font-size:13px;
      outline:none;
      white-space:nowrap;
      min-height:44px;
      appearance:none;
    }

    .content{
      padding:18px;
      overflow:auto;
      min-height:0;
      flex: 1 1 auto;
    }

    /* ===== Reviews blocks ===== */
    .hero{
      border-radius:18px;
      border:1px solid var(--line);
      overflow:hidden;
      background:rgba(0,0,0,.22);
      box-shadow: var(--shadow);
      padding:16px;
    }
    .heroRow{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
    }
    .heroTitle{
      margin:0;
      font-size:16px;
      font-weight:950;
      letter-spacing:.2px;
    }
    .heroMeta{
      margin-top:6px;
      color:var(--muted);
      font-size:12px;
      line-height:1.4;
    }

    .avgBox{
      display:flex;
      align-items:center;
      gap:10px;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.22);
      min-height:44px;
    }
    .avgNum{font-weight:950; font-size:18px; letter-spacing:.2px;}
    .avgSub{color:var(--muted); font-size:12px;}

    .grid2{
      margin-top:14px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
      align-items:start;
    }

    .panel{
      border-radius:18px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.22);
      box-shadow: var(--shadow);
      overflow:hidden;
    }
    .panelHead{
      padding:14px 16px 12px;
      border-bottom:1px solid var(--line);
      background: linear-gradient(180deg, rgba(34,197,94,.14), rgba(0,0,0,0));
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .panelTitle{margin:0; font-weight:950; letter-spacing:.2px; font-size:14px;}
    .hint{font-size:12px; color:var(--muted); opacity:.9;}
    .panelBody{padding:14px 16px 16px;}

    .field{display:grid; gap:8px; margin-bottom:12px;}
    .label{font-size:12px; color:var(--muted);}
    .input, .textarea{
      width:100%;
      border-radius:14px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.25);
      color:var(--text);
      padding:12px 12px;
      outline:none;
      font-size:14px;
    }
    .textarea{min-height:110px; resize:vertical;}

    /* Keep review fields dark after focus/autofill.
       Chromium/Opera may otherwise leave a field with a white browser autofill background. */
    .input:focus, .textarea:focus{
      border-color:rgba(34,197,94,.7);
      background:rgba(0,0,0,.25);
      box-shadow:0 0 0 3px rgba(34,197,94,.12);
    }

    .input:-webkit-autofill,
    .input:-webkit-autofill:hover,
    .input:-webkit-autofill:focus,
    .input:-webkit-autofill:active,
    .textarea:-webkit-autofill,
    .textarea:-webkit-autofill:hover,
    .textarea:-webkit-autofill:focus,
    .textarea:-webkit-autofill:active{
      -webkit-text-fill-color:var(--text)!important;
      caret-color:var(--text)!important;
      -webkit-box-shadow:0 0 0 1000px #0d1014 inset!important;
      box-shadow:0 0 0 1000px #0d1014 inset!important;
      border-color:var(--line)!important;
      transition:background-color 9999s ease-out 0s;
    }

    .input:-webkit-autofill:focus,
    .textarea:-webkit-autofill:focus{
      border-color:rgba(34,197,94,.7)!important;
      -webkit-box-shadow:
        0 0 0 1000px #0d1014 inset,
        0 0 0 3px rgba(34,197,94,.12)!important;
      box-shadow:
        0 0 0 1000px #0d1014 inset,
        0 0 0 3px rgba(34,197,94,.12)!important;
    }

    .input:autofill,
    .textarea:autofill{
      color:var(--text)!important;
      background:#0d1014!important;
    }

    /* ===== Custom review photo picker ===== */
    .photoInput{
      position:absolute!important;
      width:1px!important;
      height:1px!important;
      padding:0!important;
      margin:-1px!important;
      overflow:hidden!important;
      clip:rect(0,0,0,0)!important;
      white-space:nowrap!important;
      border:0!important;
    }
    .photoUpload{
      position:relative;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:12px;
      width:100%;
      min-height:78px;
      padding:12px;
      border:1px dashed rgba(255,255,255,.16);
      border-radius:16px;
      background:linear-gradient(135deg, rgba(34,197,94,.07), rgba(255,255,255,.025));
      transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
    }
    .photoUpload:hover,
    .photoUpload:focus-within{
      border-color:rgba(34,197,94,.46);
      background:linear-gradient(135deg, rgba(34,197,94,.11), rgba(255,255,255,.035));
      box-shadow:0 0 0 3px rgba(34,197,94,.055);
    }
    .photoUploadIcon{
      width:42px;
      height:42px;
      border-radius:13px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      border:1px solid rgba(34,197,94,.24);
      background:rgba(34,197,94,.12);
      color:#86efac;
      font-size:24px;
      font-weight:500;
      line-height:1;
    }
    .photoUploadCopy{min-width:0}
    .photoUploadTitle{
      color:var(--text);
      font-size:13px;
      font-weight:900;
      line-height:1.25;
    }
    .photoUploadHint{
      margin-top:4px;
      color:var(--muted);
      font-size:11px;
      line-height:1.35;
    }
    .photoUploadButton{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:40px;
      padding:0 14px;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.07);
      color:var(--text);
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
      cursor:pointer;
      user-select:none;
      transition:background .15s ease,border-color .15s ease,transform .15s ease;
    }
    .photoUploadButton:hover{
      background:rgba(255,255,255,.11);
      border-color:rgba(34,197,94,.34);
      transform:translateY(-1px);
    }
    .photoPreview{
      display:none;
      grid-template-columns:repeat(4, minmax(0,1fr));
      gap:8px;
      margin-top:8px;
    }
    .photoPreview.hasPhotos{display:grid}
    .photoPreviewItem{
      position:relative;
      aspect-ratio:1/1;
      min-width:0;
      overflow:hidden;
      border-radius:12px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.24);
    }
    .photoPreviewItem img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .photoPreviewName{
      position:absolute;
      left:5px;
      right:5px;
      bottom:5px;
      padding:4px 6px;
      border-radius:8px;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
      color:#fff;
      font-size:9px;
      background:rgba(0,0,0,.62);
      backdrop-filter:blur(5px);
      -webkit-backdrop-filter:blur(5px);
    }
    @media (max-width:620px){
      .photoUpload{
        grid-template-columns:auto 1fr;
        gap:10px;
      }
      .photoUploadButton{
        grid-column:1 / -1;
        width:100%;
      }
      .photoPreview{grid-template-columns:repeat(2, minmax(0,1fr));}
    }



    /* ===== Review video picker ===== */
    .videoInput{
      position:absolute!important;
      width:1px!important;
      height:1px!important;
      padding:0!important;
      margin:-1px!important;
      overflow:hidden!important;
      clip:rect(0,0,0,0)!important;
      white-space:nowrap!important;
      border:0!important;
      opacity:0!important;
    }
    .videoUpload{
      position:relative;
      display:grid;
      grid-template-columns:auto minmax(0,1fr) auto;
      align-items:center;
      gap:12px;
      width:100%;
      min-height:78px;
      padding:12px;
      border:1px dashed rgba(255,255,255,.16);
      border-radius:16px;
      background:linear-gradient(135deg, rgba(34,197,94,.07), rgba(255,255,255,.025));
    }
    .videoUploadIcon{
      width:42px;
      height:42px;
      border-radius:13px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:1px solid rgba(34,197,94,.24);
      background:rgba(34,197,94,.12);
      color:#86efac;
      font-size:16px;
      flex:0 0 auto;
    }
    .videoUploadCopy{min-width:0}
    .videoUploadTitle{
      color:var(--text);
      font-size:13px;
      font-weight:900;
      line-height:1.25;
    }
    .videoUploadHint{
      margin-top:4px;
      color:var(--muted);
      font-size:11px;
      line-height:1.35;
    }
    .videoUploadButton{
      appearance:none;
      -webkit-appearance:none;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:40px;
      padding:0 14px;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.07);
      color:var(--text);
      font:inherit;
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
      cursor:pointer;
    }
    .videoUploadButton:hover{
      background:rgba(255,255,255,.10);
      border-color:rgba(255,255,255,.18);
    }
    .videoPreview{
      display:none;
      margin-top:8px;
      color:var(--muted);
      font-size:11px;
      line-height:1.35;
    }
    .videoPreview.hasVideo{display:block}
    @media (max-width:620px){
      .videoUpload{
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:10px;
      }
      .videoUploadButton{
        min-height:38px;
        padding:0 12px;
      }
    }

    .formRow{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
    }

    .starsPick{
      display:flex;
      gap:8px;
      align-items:center;
      user-select:none;
      flex-wrap:wrap;
    }
    .starBtn{
      width:38px; height:38px;
      border-radius:12px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      color:var(--text);
      cursor:pointer;
      font-size:18px;
      line-height:1;
      display:flex; align-items:center; justify-content:center;
      transition: transform .12s ease, background .12s ease;
    }
    .starBtn:hover{background:rgba(255,255,255,.08); transform: translateY(-1px);}
    .starBtn.active{background:rgba(245,197,66,.12); border-color:rgba(245,197,66,.35); color:#f5c542;}
    .ratingText{color:var(--muted); font-size:12px;}

    .btn{
      border:none; cursor:pointer;
      padding:12px 14px;
      border-radius:14px;
      background:linear-gradient(135deg,#22c55e,#16a34a);
      color:#07110b;
      font-weight:950;
      box-shadow: 0 10px 18px rgba(34,197,94,.18);
      transition: filter .15s ease, transform .15s ease;
      white-space:nowrap;
      width:100%;
    }
    .btn:hover{filter:brightness(1.05); transform: translateY(-1px)}
    .btn:disabled{
      cursor:not-allowed;
      background:rgba(255,255,255,.10);
      color:rgba(255,255,255,.55);
      box-shadow:none;
      transform:none;
    }

    .list{display:grid; gap:12px;}
    .review{
      border-radius:16px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.03);
      padding:12px;
    }
    .rTop{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
    }
    .rName{font-weight:950; letter-spacing:.2px; margin:0; font-size:13px;}
    .rDate{color:var(--muted); font-size:12px;}
    .rStars{display:flex; gap:2px; font-size:14px; line-height:1; white-space:nowrap; color:#f5c542;}
    .rText{
      margin:10px 0 0;
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
      white-space:pre-line;
    }

    .purchaseReviewContext{
      margin-bottom:12px;
    }
    .purchaseReviewContext[hidden]{display:none;}
    .purchaseReviewContext .rPurchase{
      margin-top:0;
    }

    .rPurchase{
      margin-top:10px;
      display:inline-flex;
      align-items:center;
      gap:9px;
      min-height:42px;
      max-width:100%;
      padding:5px 10px 5px 5px;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.035);
    }
    .rPurchaseImg{
      width:32px;
      height:32px;
      flex:0 0 32px;
      display:block;
      object-fit:cover;
      border-radius:8px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(0,0,0,.25);
    }
    .rPurchaseText{
      min-width:0;
      color:#dce5f2;
      font-size:12px;
      font-weight:850;
      line-height:1.3;
      overflow-wrap:anywhere;
    }

    .empty{
      padding:14px;
      border-radius:16px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.20);
      color:var(--muted);
      font-size:13px;
    }

    /* ✅ photos grid inside review */
    .rPhotos{
      margin-top:10px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .rPhoto{
      width:72px;height:72px;
      border-radius:14px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.25);
      overflow:hidden;
      cursor:pointer;
    }
    .rPhoto img{width:100%;height:100%;object-fit:cover;display:block;}

    /* ✅ Footer */
    .footer{
      margin-top:auto;
      border-top:1px solid var(--line);
      background: rgba(0,0,0,.25);
      padding:14px 18px;
      flex: 0 0 auto;
    }
    .footerRow{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .footerBrand{
      display:flex;
      align-items:center;
      gap:10px;
      color:var(--muted);
      font-size:12px;
      white-space:nowrap;
    }
    .footerLinks{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .footerLinks a{
      text-decoration:none;
      color:var(--muted);
      font-size:12px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      transition: background .15s ease, transform .15s ease;
      white-space:nowrap;
    }
    .footerLinks a:hover{
      background:rgba(255,255,255,.08);
      transform: translateY(-1px);
      color:var(--text);
    }

/* ==========================
       ✅ CART DRAWER (EXACT COPY from About)
    ========================== */
    .cartBack{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.74);
      display:none;
      z-index:1100;
      backdrop-filter: blur(6px);
    }
    .cartBack.show{display:block}
    .cartDrawer{
      position:fixed;
      top:0; right:0; bottom:0;
      width:min(420px, 92vw);
      border-left:1px solid var(--line);
      background: linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.78));
      box-shadow: -18px 0 40px rgba(0,0,0,.60);
      transform: translateX(100%);
      transition: transform .18s ease;
      z-index:1101;
      display:flex;
      flex-direction:column;
      overflow:hidden;
      backdrop-filter: blur(10px);
    }
    .cartDrawer.show{transform: translateX(0)}
    .cartHead{
      padding:14px 14px 10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      border-bottom:1px solid var(--line);
      background: linear-gradient(180deg, rgba(34,197,94,.14), rgba(0,0,0,0));
    }
    .cartTitle{font-weight:950; letter-spacing:.2px;}
    .cartClose{
      border:none;
      cursor:pointer;
      padding:10px 12px;
      border-radius:12px;
      background:rgba(0,0,0,.30);
      border:1px solid var(--line);
      color:var(--text);
      font-weight:950;
      line-height:1;
    }
    .cartClose:hover{background:rgba(255,255,255,.06)}
    .cartBody{padding:12px; overflow:auto; min-height:0;}
    .cartEmpty{
      padding:14px;
      border:1px solid var(--line);
      border-radius:14px;
      background:rgba(255,255,255,.04);
      color:var(--muted);
    }
    .cartItem{
      display:grid;
      grid-template-columns:64px 1fr;
      gap:10px;
      padding:10px;
      border-radius:14px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      margin-bottom:10px;
    }
    .cartImg{
      width:64px;height:64px;border-radius:12px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.25);
      overflow:hidden;
      display:flex;align-items:center;justify-content:center;
      color:var(--muted);
      font-size:12px;
    }
    .cartImg img{width:100%;height:100%;object-fit:cover;display:block;}
    .cartName{font-weight:900; font-size:13px; margin:0}
    .cartMeta{color:var(--muted); font-size:12px; margin:4px 0 0}
    .cartRow{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px;}
    .cartQty{
      display:flex; align-items:center; gap:6px;
      padding:6px 8px;
      border-radius:12px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.25);
    }
    .cartQty button{
      width:30px;height:30px;border-radius:10px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      color:var(--text);
      cursor:pointer;
      font-weight:900;
    }
    .cartQty input{
      width:44px;
      background:transparent;
      border:none;
      outline:none;
      color:var(--text);
      text-align:center;
      font-weight:900;
    }
    .cartRemove{
      border:none;
      cursor:pointer;
      padding:8px 10px;
      border-radius:12px;
      background:rgba(0,0,0,.25);
      border:1px solid var(--line);
      color:var(--text);
      font-weight:900;
      line-height:1;
    }
    .cartRemove:hover{background:rgba(255,255,255,.06)}
    .cartFoot{
      padding:12px;
      border-top:1px solid var(--line);
      background:rgba(0,0,0,.40);
    }
    .cartSumRow{
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      margin-bottom:10px; color:var(--text); font-weight:950;
    }

    /* ✅ 3 buttons in a row like About */
    .cartActions{display:grid; gap:10px;}
    .actionRow{
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      gap:10px;
      align-items:stretch;
    }
    .actionBtn{
      width:100%;
      min-height:44px;
      height:44px;
      padding:0 12px;
      line-height:44px;
      border-radius:12px;
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
    }

    .btn2{
      border:none; cursor:pointer;
      background:rgba(255,255,255,.06);
      border:1px solid var(--line);
      color:var(--text);
      font-weight:950;
      transition: background .15s ease, transform .15s ease;
      white-space:nowrap;
    }
    .btn2:hover{background:rgba(255,255,255,.10); transform: translateY(-1px)}
    .btn2:disabled{opacity:.45; cursor:not-allowed}

    /* PayPal wrapper looks like button */
    .ppWrap{display:none; padding:0;}
    #paypal-button-container{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .ppNote{
      color:var(--muted);
      font-size:12px;
      margin-top:0;
      line-height:1.35;
      display:none;
      text-align:center;
    }

    @media (max-width:520px){
      .actionRow{grid-template-columns:1fr;}
      .actionBtn{height:46px; min-height:46px; line-height:46px;}
    }

    /* ✅ Checkout green (only this button) */
    #cartCheckout{
      background: linear-gradient(135deg,#22c55e,#16a34a);
      color:#07110b;
      border:none;
      box-shadow: 0 10px 18px rgba(34,197,94,.18);
    }
    #cartCheckout:hover{
      filter: brightness(1.05);
      transform: translateY(-1px);
    }
    #cartCheckout:disabled{
      background: rgba(255,255,255,.10);
      color: rgba(255,255,255,.55);
      box-shadow:none;
      transform:none;
    }


    /* Review video: compact thumbnail, same visual scale as review photos */
    .rVideoThumb{
      position:relative;
      width:72px;
      height:72px;
      margin-top:10px;
      padding:0;
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:14px;
      background:rgba(255,255,255,.04);
      cursor:pointer;
      display:block;
    }
    .rVideoThumb video{
      width:100%;
      height:100%;
      display:block;
      object-fit:cover;
      pointer-events:none;
    }
    .rVideoPlay{
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      font-size:20px;
      text-shadow:0 2px 8px rgba(0,0,0,.85);
      background:rgba(0,0,0,.12);
      pointer-events:none;
    }
    .rVideoThumb:hover .rVideoPlay{background:rgba(0,0,0,.22)}

    /* ✅ Lightbox (photos) */
    .lightboxBack{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.78);
      display:none;
      z-index:2000;
      backdrop-filter: blur(6px);
    }
    .lightboxBack.show{display:block}
    .lightbox{
      position:fixed;
      inset:0;
      display:none;
      z-index:2001;
      place-items:center;
      padding: 18px;
    }
    .lightbox.show{display:grid}

    .lightboxCard{
      width: min(980px, 96vw);
      max-height: 86vh;
      border-radius: 18px;
      border: 1px solid var(--line);
      background: rgba(0,0,0,.55);
      box-shadow: var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .lightboxImg{
      width:100%;
      height: 86vh;
      max-height: 86vh;
      object-fit: contain;
      display:block;
      background: rgba(0,0,0,.35);
    }
    .lightboxVideo{
      width:100%;
      height:86vh;
      max-height:86vh;
      object-fit:contain;
      display:none;
      background:#000;
    }
    .lbTop{
      position:absolute;
      top:10px; left:10px; right:10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      pointer-events:none;
    }
    .lbPill{
      pointer-events:none;
      padding:8px 10px;
      border-radius:999px;
      background:rgba(0,0,0,.45);
      border:1px solid var(--line);
      color:var(--text);
      font-size:12px;
      backdrop-filter: blur(10px);
    }
    .lbClose{
      pointer-events:auto;
      border:none;
      cursor:pointer;
      padding:10px 12px;
      border-radius:12px;
      background:rgba(0,0,0,.45);
      border:1px solid var(--line);
      color:var(--text);
      font-weight:950;
      line-height:1;
    }
    .lbClose:hover{background:rgba(255,255,255,.08)}

    @media (max-width:980px){
      .lightboxCard{width: 100%;}
      .lightboxImg{height: 80vh;}
    }

    .toast{
      position: fixed;
      right: 16px;
      bottom: 16px;
      background: rgba(0,0,0,.65);
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 12px 14px;
      color: var(--text);
      box-shadow: var(--shadow);
      max-width: 360px;
      display:none;
      z-index:2605;
      backdrop-filter: blur(10px);
    }
    .toast.show{display:block}
    .toast small{color:var(--muted)}

    .onlyMobile{display:none;}

    @media (max-width:980px){
      body{overflow:auto}
      .app{grid-template-columns:1fr; height:auto; min-height:100vh}
      .sidebar{display:none}
      .main{height:auto; min-height:100vh}
      .grid2{grid-template-columns:1fr;}
      .formRow{grid-template-columns:1fr;}

      .topbar{flex-wrap:wrap; align-items:flex-start}
      .top-left{flex:1 1 100%}
      .top-right{
        width:100%;
        display:grid;
        grid-template-columns: 1fr 1fr;
        gap:10px;
      }
      .cartBtn{justify-content:center; width:100%}
      .shipCountry{width:100%}

      .content{
        padding:14px;
        padding-bottom: calc(14px + env(safe-area-inset-bottom));
      }

      .onlyMobile{display:block;}

      .footer{padding:12px 14px;}
      .footerRow{justify-content:center;}
      .footerLinks{justify-content:center;}

      /* ✅ remove blur on mobile */
      .cartDrawer,.cartBack,.toast{
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
      }
    }

    @media (max-width:520px){
      .top-right{grid-template-columns: 1fr;}
    }

/* DHL live shipping inside cart */
.cartShippingPanel{
  display:grid;
  gap:8px;
  margin-bottom:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.cartShippingLabel{
  font-size:12px;
  font-weight:900;
  color:var(--muted);
  letter-spacing:.02em;
}
.cartShippingSelect{
  width:100%;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0d1014;
  color:var(--text);
  padding:0 12px;
  font:inherit;
  outline:none;
}
.cartShippingSelect:focus{
  border-color:rgba(34,197,94,.7);
  box-shadow:0 0 0 3px rgba(34,197,94,.12);
}
.shippingService{
  min-height:16px;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}
.cartSumRows{display:grid;gap:7px;margin-bottom:12px;}
.cartSumRows .cartSumRow{margin-bottom:0;}
.cartGrandTotal{
  padding-top:8px;
  margin-top:2px;
  border-top:1px solid var(--line);
  font-size:15px;
}


/* ===== Reviews clean header =====
   The page title remains in the top green bar.
   Overall rating lives in the Customer reviews panel header. */
.reviewsPanelHead{
  align-items:center;
  flex-wrap:wrap;
}

.reviewsPanelRating{
  margin-left:auto;
  min-height:40px;
  padding:7px 10px;
  border-radius:12px;
  background:rgba(0,0,0,.18);
  box-shadow:none;
}

.reviewsPanelRating .avgNum{
  font-size:16px;
}

.reviewsPanelRating .rStars{
  line-height:1;
  white-space:nowrap;
}

.reviewsPanelRating .avgSub{
  margin-top:3px;
  font-size:10px;
  white-space:nowrap;
}

@media(max-width:620px){
  .reviewsPanelHead{
    align-items:flex-start;
  }
  .reviewsPanelRating{
    margin-left:0;
  }
}


/* ===== Desktop reviews: match right panel to form height =====
   The right panel height is measured from the left form by reviews.js.
   This avoids CSS Grid using the long review list to determine the row height. */
@media (min-width:981px){
  .grid2{
    align-items:start;
  }

  .grid2 > .panel:nth-child(2){
    display:flex;
    flex-direction:column;
    height:var(--reviews-panel-height, auto);
    max-height:var(--reviews-panel-height, none);
    min-height:0;
  }

  .grid2 > .panel:nth-child(2) > .panelHead{
    flex:0 0 auto;
  }

  .grid2 > .panel:nth-child(2) > .panelBody{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }

  .grid2 > .panel:nth-child(2) .list{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:6px;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.18) rgba(0,0,0,.10);
  }

  .grid2 > .panel:nth-child(2) .list::-webkit-scrollbar{
    width:8px;
  }
  .grid2 > .panel:nth-child(2) .list::-webkit-scrollbar-track{
    background:rgba(0,0,0,.10);
    border-radius:999px;
  }
  .grid2 > .panel:nth-child(2) .list::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.18);
    border-radius:999px;
  }
  .grid2 > .panel:nth-child(2) .list::-webkit-scrollbar-thumb:hover{
    background:rgba(255,255,255,.26);
  }
}
