  :root{
    --primary:#e42410; --primary-dark:#c0190a; --primary-light:#fff1ef;
    --accent:#f99b07; --accent-dark:#b75406; --accent-light:#fff8e6;
    --bg:#faf7f5; --fg:#1c1210; --muted:#7a6e67; --card:#ffffff;
    --border:#eee2da; --success:#1a9e5c; --danger:#d92d20;
    --radius:18px; --radius-sm:12px; --shadow:0 8px 28px -10px rgb(28 18 16 / .18);
    --shadow-sm:0 2px 10px -4px rgb(28 18 16 / .12);
  }
  html[data-theme="dark"]{
    --bg:#0a0807; --fg:#f4ece8; --muted:#a89a92; --card:#1a1310;
    --border:#372924; --primary-light:#2c1613; --accent-light:#2c2210;
  }
  *{box-sizing:border-box;}
  body{margin:0;font-family:"Segoe UI",Tahoma,"Geeza Pro",Arial,sans-serif;background:var(--bg);color:var(--fg);transition:background .25s,color .25s;}
  img,svg{max-width:100%;display:block;}
  button{font-family:inherit;cursor:pointer;}
  .container{max-width:1200px;margin:0 auto;padding:0 16px;}
  a{color:inherit;}

  /* Header */
  header.topbar{position:sticky;top:0;z-index:40;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:var(--shadow-sm);}
  .topbar-inner{display:flex;align-items:center;gap:8px;height:64px;max-width:1200px;margin:0 auto;padding:0 16px;}
  .logo{display:flex;align-items:center;gap:8px;font-weight:900;white-space:nowrap;border:none;background:transparent;color:inherit;font-family:inherit;cursor:pointer;padding:4px;border-radius:10px;transition:background .15s;}
  .logo:hover{background:rgb(255 255 255 / .14);}
  .logo small{display:block;font-size:10px;font-weight:600;opacity:.85;letter-spacing:.06em;}
  .search-wrap{flex:1;display:flex;align-items:center;gap:8px;background:rgb(255 255 255 / .16);border-radius:999px;padding:8px 14px;min-width:0;}
  .search-wrap input{flex:1;min-width:0;border:none;background:transparent;color:#fff;outline:none;font-size:14px;}
  .search-wrap input::placeholder{color:rgb(255 255 255 / .75);}
  .icon-btn{position:relative;width:40px;height:40px;border-radius:999px;border:none;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;transition:background .15s;}
  .icon-btn:hover{background:rgb(255 255 255 / .16);}
  .cart-badge{position:absolute;top:-2px;left:-2px;min-width:18px;height:18px;border-radius:999px;background:var(--accent);color:#231a08;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px;}

  .lang-switch{display:flex;background:rgb(255 255 255 / .16);border-radius:999px;padding:3px;flex-shrink:0;gap:2px;}
  .lang-switch button{border:none;background:transparent;color:rgb(255 255 255 / .8);font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;letter-spacing:.02em;}
  .lang-switch button.active{background:#fff;color:var(--primary);}


  /* Category nav */
  nav.catnav{position:sticky;top:64px;z-index:30;background:var(--bg);border-bottom:1px solid var(--border);}
  .catnav-inner{max-width:1200px;margin:0 auto;padding:10px 16px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;}
  .catnav-inner::-webkit-scrollbar{display:none;}
  .catpill{flex-shrink:0;border:1px solid var(--border);background:var(--card);color:var(--fg);padding:9px 16px;border-radius:999px;font-weight:700;font-size:13px;white-space:nowrap;transition:.15s;}
  .catpill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm);}

  /* Sections & grid */
  section.catsec{padding:26px 0 6px;scroll-margin-top:130px;}
  .catsec h2{font-size:20px;font-weight:900;margin:0 0 14px;display:flex;align-items:center;gap:8px;}
  .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  @media(min-width:640px){.grid{grid-template-columns:repeat(3,1fr);}}
  @media(min-width:900px){.grid{grid-template-columns:repeat(4,1fr);}}
  @media(min-width:1180px){.grid{grid-template-columns:repeat(5,1fr);}}

  .card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column;}
  .card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
  .card-media{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:44px;background:linear-gradient(135deg,var(--primary-light),var(--accent-light));}
  .prod-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .discount-chip{position:absolute;top:8px;right:8px;background:var(--primary);color:#fff;font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;box-shadow:var(--shadow-sm);}
  .quick-add{position:absolute;bottom:-16px;left:10px;width:34px;height:34px;border-radius:999px;background:var(--primary);color:#fff;border:none;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:transform .12s;}
  .quick-add:active{transform:scale(.88);}
  .card-body{padding:14px 12px 16px;display:flex;flex-direction:column;gap:5px;flex:1;}
  .card-body h3{font-size:14px;margin:0;font-weight:800;line-height:1.35;}
  .card-body p{font-size:12px;color:var(--muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .cal{font-size:11px;color:var(--muted);}
  .price-row{margin-top:auto;padding-top:8px;display:flex;align-items:baseline;gap:6px;}
  .price-now{color:var(--primary);font-weight:900;font-size:15px;}
  .price-was{color:var(--muted);font-size:12px;text-decoration:line-through;}

  /* Modal / overlay */
  .overlay{position:fixed;inset:0;background:rgb(10 6 5 / .55);backdrop-filter:blur(2px);z-index:60;opacity:0;pointer-events:none;transition:opacity .2s;}
  .overlay.show{opacity:1;pointer-events:auto;}
  .modal{position:fixed;z-index:61;background:var(--card);box-shadow:var(--shadow);transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .2s;}
  .modal-center{left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);opacity:0;pointer-events:none;width:92%;max-width:480px;max-height:88vh;overflow-y:auto;border-radius:20px;}
  .modal-center.show{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto;}
  .drawer{top:0;bottom:0;left:0;width:92%;max-width:420px;transform:translateX(-102%);display:flex;flex-direction:column;}
  html[dir="rtl"] .drawer{left:auto;right:0;transform:translateX(102%);}
  .drawer.show{transform:translateX(0);}
  .modal-close{position:absolute;top:12px;left:12px;width:38px;height:38px;border-radius:999px;background:rgb(20 14 12 / .55);color:#fff;border:none;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:5;box-shadow:0 2px 10px rgb(0 0 0 / .25);backdrop-filter:blur(3px);transition:background .15s,transform .15s;line-height:1;}
  .modal-close:hover{background:rgb(20 14 12 / .8);transform:scale(1.06);}
  html[dir="rtl"] .modal-close{left:auto;right:12px;}

  .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border);}
  .drawer-head h3{margin:0;font-size:16px;font-weight:900;}
  .drawer-body{flex:1;overflow-y:auto;padding:14px 18px;}
  .drawer-foot{border-top:1px solid var(--border);padding:16px 18px;}

  .cart-line{display:flex;gap:10px;border:1px solid var(--border);border-radius:14px;padding:10px;margin-bottom:10px;}
  .cart-line .em{position:relative;overflow:hidden;width:56px;height:56px;border-radius:10px;background:linear-gradient(135deg,var(--primary-light),var(--accent-light));display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;}
  .cart-line .info{flex:1;min-width:0;}
  .cart-line .info h4{margin:0 0 4px;font-size:13px;font-weight:800;}
  .cart-line .info .sub{font-size:11px;color:var(--muted);}
  .qty{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border-radius:999px;padding:3px;margin-top:6px;}
  .qty button{width:24px;height:24px;border-radius:999px;border:none;background:var(--card);box-shadow:var(--shadow-sm);font-size:14px;line-height:1;}
  .qty span{min-width:16px;text-align:center;font-weight:800;font-size:12px;}
  .line-price{font-weight:900;color:var(--primary);font-size:13px;white-space:nowrap;}
  .remove-btn{background:none;border:none;color:var(--muted);font-size:14px;}

  .summary-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;color:var(--muted);gap:10px;}
  .summary-row b{color:var(--fg);font-weight:700;white-space:nowrap;}
  .summary-total{display:flex;justify-content:space-between;font-size:17px;font-weight:900;padding-top:10px;margin-top:6px;border-top:1px dashed var(--border);}
  .summary-total span:last-child{color:var(--primary);}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:13px 22px;font-weight:800;font-size:14px;transition:transform .12s,opacity .15s;width:100%;}
  .btn:active{transform:scale(.98);}
  .btn-primary{background:var(--primary);color:#fff;}
  .btn-primary:disabled{opacity:.5;cursor:not-allowed;}
  .btn-outline{background:transparent;border:1px solid var(--border);color:var(--fg);}
  .btn-ghost{background:var(--bg);color:var(--fg);}

  .empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:50px 16px;color:var(--muted);}
  .empty .em{font-size:44px;}

  /* Product modal */
  .pm-media{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:88px;background:linear-gradient(135deg,var(--primary-light),var(--accent-light));}
  .pm-body{padding:18px;}
  .pm-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
  .pm-title-row h2{margin:0;font-size:18px;font-weight:900;}
  .pm-price{font-size:18px;font-weight:900;color:var(--primary);white-space:nowrap;}
  .pm-desc{color:var(--muted);font-size:13px;line-height:1.6;margin:8px 0;}
  .pm-meta{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-bottom:14px;flex-wrap:wrap;}
  .pm-footer{display:flex;gap:10px;align-items:center;border-top:1px solid var(--border);padding:14px 18px;position:sticky;bottom:0;background:var(--card);}

  .mod-section{border-top:1px solid var(--border);padding:16px 18px;}
  .mod-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
  .mod-head h4{margin:0;font-size:14px;font-weight:800;}
  .mod-badges{display:flex;gap:6px;}
  .mod-badge{font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--bg);color:var(--muted);}
  .mod-badge.required{background:var(--primary-light);color:var(--primary);}
  .mod-option{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:border-color .15s,background .15s;}
  .mod-option.selected{border-color:var(--primary);background:var(--primary-light);}
  .mod-option.disabled{opacity:.45;cursor:not-allowed;}
  .mod-option-left{display:flex;align-items:center;gap:10px;min-width:0;}
  .mod-option-left span{font-size:13px;font-weight:600;}
  .mod-radio-dot,.mod-check-box{width:20px;height:20px;border-radius:999px;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
  .mod-check-box{border-radius:6px;}
  .mod-option.selected .mod-radio-dot,.mod-option.selected .mod-check-box{border-color:var(--primary);}
  .mod-radio-dot::after{content:'';width:10px;height:10px;border-radius:999px;background:var(--primary);opacity:0;}
  .mod-option.selected .mod-radio-dot::after{opacity:1;}
  .mod-check-box::after{content:'✓';font-size:12px;color:#fff;opacity:0;}
  .mod-option.selected .mod-check-box{background:var(--primary);}
  .mod-option.selected .mod-check-box::after{opacity:1;}
  .mod-option-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
  .mod-price{font-size:12px;font-weight:800;color:var(--primary);white-space:nowrap;}
  .mod-mini-qty{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border-radius:999px;padding:2px;}
  .mod-mini-qty button{width:20px;height:20px;border-radius:999px;border:none;background:var(--card);box-shadow:var(--shadow-sm);font-size:12px;line-height:1;}
  .mod-mini-qty span{min-width:12px;text-align:center;font-weight:800;font-size:11px;}
  .mod-error{color:var(--danger);font-size:11px;font-weight:700;margin-top:2px;display:flex;align-items:center;gap:5px;}
  .mod-section.has-error{background:rgb(217 45 32 / .05);}

  /* Forms */
  .field{margin-bottom:14px;}
  .field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;}
  .field input,.field select,.field textarea{width:100%;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:12px;padding:11px 13px;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s;}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);}
  .field textarea{resize:vertical;min-height:70px;}
  .field .err{color:var(--danger);font-size:11px;margin-top:5px;font-weight:700;display:none;}
  .field.invalid input,.field.invalid select{border-color:var(--danger);}
  .field.invalid .err{display:block;}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media(max-width:420px){.row2{grid-template-columns:1fr;}}
  .seg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
  .seg button{border:1.5px solid var(--border);background:var(--card);border-radius:14px;padding:12px;font-weight:800;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:6px;}
  .seg button.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);}
  .hint{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:6px;}
  .section-title{font-weight:900;font-size:15px;margin:18px 0 10px;display:flex;align-items:center;gap:6px;}
  .section-title:first-child{margin-top:0;}
  .promo-row{display:flex;gap:8px;margin-bottom:6px;}
  .promo-row input{flex:1;}
  .coupon-chip{display:flex;justify-content:space-between;align-items:center;background:var(--primary-light);border:1px dashed var(--primary);border-radius:12px;padding:10px 12px;font-size:12px;margin-bottom:10px;gap:8px;}

  .conf-wrap{padding:40px 20px;text-align:center;}
  .conf-check{width:78px;height:78px;border-radius:999px;background:rgb(26 158 92 / .15);color:var(--success);display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto 16px;}
  .conf-pay{display:inline-flex;align-items:center;gap:6px;background:var(--primary-light);color:var(--primary);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:800;margin-bottom:16px;}

  .card-brand{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:800;color:var(--muted);background:var(--card);padding:2px 6px;border-radius:6px;pointer-events:none;}
  .cardnum-wrap{position:relative;}
  .cardnum-wrap input{padding-right:56px;}

  .spinner-lg{width:52px;height:52px;border-radius:999px;border:4px solid var(--border);border-top-color:var(--primary);animation:spin .8s linear infinite;margin:0 auto 18px;}
  @keyframes spin{to{transform:rotate(360deg);}}
  .processing-wrap{padding:60px 20px;text-align:center;}

  .toast-wrap{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:80;display:flex;flex-direction:column;gap:8px;align-items:center;width:92%;max-width:360px;}
  .toast{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:12px 16px;font-size:13px;font-weight:700;display:flex;gap:8px;align-items:center;animation:toastIn .25s ease;width:100%;}
  @keyframes toastIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}
  .toast.success{border-color:var(--success);}
  .toast.error{border-color:var(--danger);}

  .sticky-cart{position:fixed;bottom:16px;left:16px;right:16px;z-index:35;max-width:420px;margin:0 auto;display:none;}
  .sticky-cart.show{display:block;}
  .sticky-cart button{width:100%;background:var(--accent);color:#231a08;border:none;border-radius:999px;padding:14px 18px;font-weight:900;font-size:14px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);gap:10px;}

  footer.site-footer{margin-top:50px;border-top:1px solid var(--border);padding:26px 16px;text-align:center;color:var(--muted);font-size:12px;}
  .footer-link{background:none;border:none;color:var(--primary);font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer;margin-top:8px;padding:4px;}
  .privacy-content h4{margin:18px 0 6px;font-size:14px;font-weight:900;}
  .privacy-content h4:first-child{margin-top:0;}
  .privacy-content p{margin:0;font-size:13px;line-height:1.6;color:var(--muted);}

  ::-webkit-scrollbar{width:8px;height:8px;}
  ::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px;}
