/*
Theme Name: LEGOM
Theme URI: https://legom.ir
Author: LEGOM
Description: قالب اختصاصی فروشگاه مینی‌فیگور LEGOM با پشتیبانی ووکامرس
Version: 1.0
Requires PHP: 7.4
Text Domain: legom
*/


  :root{
    --red:#E30613;
    --red-dark:#B8050F;
    --yellow:#FFCF00;
    --yellow-soft:#FFF3B0;
    --blue:#0060A9;
    --blue-soft:#DCEBFA;
    --green:#00A551;
    --green-soft:#DAF3E4;
    --ink:#17181A;
    --ink-soft:#4A4B4E;
    --cream:#FAF7EF;
    --paper:#FFFFFF;
    --line:#EAE4D6;
    --chip:#1E1F22;
    --chip-text:#FFFFFF;
    --radius-lg:28px;
    --radius-md:20px;
    --radius-sm:14px;
    --shadow-brick: 0 4px 0 rgba(0,0,0,0.14);
    --font-display:'Baloo 2','Vazirmatn',sans-serif;
    --font-body:'Vazirmatn','Baloo 2',sans-serif;
    --bg: var(--cream);
    --surface: var(--paper);
    --text: var(--ink);
    --text-soft: var(--ink-soft);
    --border: var(--line);
  }
  [data-theme="dark"]{
    --bg:#121214; --surface:#1B1C1F; --text:#F3F1EA; --text-soft:#B7B5AE; --border:#303136;
    --yellow-soft:#3A3120; --blue-soft:#152738; --green-soft:#122A1D;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--bg); color:var(--text); font-family:var(--font-body); transition:background .35s ease, color .35s ease; overflow-x:hidden;}
  img{max-width:100%; display:block;}
  button{font-family:inherit; cursor:pointer; border:none;}
  a{color:inherit; text-decoration:none;}
  h1,h2,h3,.disp{font-family:var(--font-display);}
  .wrap{max-width:1180px; margin:0 auto; padding:0 20px;}
  ::selection{background:var(--yellow); color:var(--ink);}
  :focus-visible{outline:3px solid var(--blue); outline-offset:2px; border-radius:6px;}

  .marquee-bar{background:var(--ink); color:#fff; overflow:hidden; white-space:nowrap; height:38px; display:flex; align-items:center;}
  .marquee-track{display:flex; gap:48px; animation:scrollx 26s linear infinite; padding-inline-end:48px;}
  .marquee-track span{font-size:13px; font-weight:600; display:flex; align-items:center; gap:10px; color:var(--yellow);}
  .marquee-track span::before{content:"●"; font-size:6px; color:#fff;}
  @keyframes scrollx{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  header.site{position:sticky; top:0; z-index:60; background:var(--surface); border-bottom:1px solid var(--border);}
  .header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 20px; max-width:1180px; margin:0 auto; gap:12px;}
  .icon-btn{width:42px; height:42px; border-radius:50%; background:var(--bg); display:flex; align-items:center; justify-content:center; border:1px solid var(--border); transition:transform .15s ease, background .2s; position:relative;}
  .icon-btn:active{transform:scale(.92);}
  .icon-btn svg{width:19px; height:19px; stroke:var(--text); fill:none; stroke-width:2;}
  .header-side{display:flex; align-items:center; gap:8px;}
  .brand{display:flex; align-items:center; gap:8px; flex-direction:row-reverse;}
  .brand img{height:34px; width:auto;}
  .brand .wordmark{font-family:var(--font-display); font-weight:800; font-size:22px; letter-spacing:.5px;}
  .brand .wordmark .m{color:var(--yellow); -webkit-text-stroke:1.2px var(--ink);}
  .badge-dot{position:absolute; top:-2px; left:-2px; background:var(--red); color:#fff; font-size:10px; font-weight:700; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center;}

  .hero-section{padding:18px 20px 8px;}
  .hero-card{max-width:1180px; margin:0 auto; background:linear-gradient(180deg, var(--yellow-soft), var(--surface) 70%); border:1px solid var(--border); border-radius:var(--radius-lg); padding:38px 24px 28px; position:relative; overflow:hidden; text-align:center;}
  .hero-eyebrow-pill{display:inline-flex; align-items:center; gap:8px; background:var(--chip); color:var(--chip-text); padding:7px 16px; border-radius:999px; font-size:12.5px; font-weight:600; margin-bottom:18px;}
  .hero-eyebrow-pill b{color:var(--yellow);}
  .hero-figs{display:flex; justify-content:center; gap:14px; margin-bottom:6px; position:relative; height:96px;}
  .hero-figs .brick{width:46px; height:46px; border-radius:12px 12px 16px 16px; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-brick); animation:float 4.2s ease-in-out infinite;}
  .hero-figs .brick svg{width:26px; height:26px;}
  .brick.b1{background:var(--red); animation-delay:0s;}
  .brick.b2{background:var(--blue); animation-delay:.5s; transform:translateY(10px);}
  .brick.b3{background:var(--yellow); animation-delay:1s;}
  .brick.b4{background:var(--green); animation-delay:1.5s; transform:translateY(14px);}
  .brick.b5{background:var(--red-dark); animation-delay:2s;}
  @keyframes float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);}}
  .hero-card h1{font-size:clamp(30px,7vw,48px); line-height:1.18; font-weight:800; margin:10px auto 14px; max-width:640px;}
  .hero-card h1 .accent{color:var(--red);}
  .hero-card p.sub{color:var(--text-soft); font-size:15.5px; max-width:440px; margin:0 auto 24px; line-height:1.9;}
  .hero-ctas{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}
  .btn{padding:14px 26px; border-radius:999px; font-weight:700; font-size:15px; display:inline-flex; align-items:center; gap:8px; transition:transform .15s ease, filter .2s ease;}
  .btn:active{transform:scale(.96);}
  .btn-primary{background:var(--ink); color:#fff;}
  .btn-primary:hover{filter:brightness(1.15);}
  .btn-ghost{background:transparent; border:2px solid var(--ink); color:var(--text);}
  .hero-stats{display:flex; justify-content:center; gap:28px; margin-top:30px; flex-wrap:wrap;}
  .hero-stats div{text-align:center;}
  .hero-stats strong{display:block; font-family:var(--font-display); font-size:22px; font-weight:800;}
  .hero-stats span{font-size:12.5px; color:var(--text-soft);}

  .section{padding:44px 0 8px;}
  .section-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:18px; gap:12px;}
  .section-head h2{font-size:22px; font-weight:800;}
  .section-head a{font-size:13.5px; font-weight:700; color:var(--red); white-space:nowrap;}

  .cat-rail{display:flex; gap:14px; overflow-x:auto; padding:4px 20px 14px; scroll-snap-type:x proximity; -ms-overflow-style:none; scrollbar-width:none;}
  .cat-rail::-webkit-scrollbar{display:none;}
  .cat-card{scroll-snap-align:start; min-width:132px; border-radius:var(--radius-md); padding:18px 14px 16px; display:flex; flex-direction:column; align-items:center; gap:10px; border:1px solid var(--border); transition:transform .18s ease;}
  .cat-card:active{transform:scale(.96);}
  .cat-card .ico{width:52px; height:52px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.55);}
  .cat-card .ico svg{width:28px; height:28px; stroke:var(--ink); fill:none; stroke-width:1.8;}
  .cat-card span{font-size:13.5px; font-weight:700; text-align:center;}
  .cat-1{background:var(--red); color:#fff;} .cat-1 .ico{background:rgba(255,255,255,.22);} .cat-1 .ico svg{stroke:#fff;}
  .cat-2{background:var(--blue); color:#fff;} .cat-2 .ico{background:rgba(255,255,255,.22);} .cat-2 .ico svg{stroke:#fff;}
  .cat-3{background:var(--yellow); color:var(--ink);}
  .cat-4{background:var(--green); color:#fff;} .cat-4 .ico{background:rgba(255,255,255,.22);} .cat-4 .ico svg{stroke:#fff;}
  .cat-5{background:var(--surface); border:1px solid var(--border);}
  .cat-6{background:var(--ink); color:#fff;} .cat-6 .ico{background:rgba(255,255,255,.14);} .cat-6 .ico svg{stroke:#fff;}

  .product-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:0 20px;}
  @media(min-width:640px){ .product-grid{grid-template-columns:repeat(3,1fr);} }
  @media(min-width:920px){ .product-grid{grid-template-columns:repeat(4,1fr);} }
  .p-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease; position:relative;}
  .p-card:hover{transform:translateY(-4px); box-shadow:0 10px 24px rgba(0,0,0,.08);}
  .p-media{aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; position:relative; padding:14px;}
  .p-media svg{width:64%; height:64%;}
  .p-badge{position:absolute; top:10px; inset-inline-start:10px; z-index:2; font-size:11px; font-weight:800; padding:5px 10px; border-radius:999px; color:#fff;}
  .p-badge.new{background:var(--blue);}
  .p-badge.sale{background:var(--red);}
  .p-badge.hot{background:var(--ink);}
  .fav-btn{position:absolute; top:10px; inset-inline-end:10px; z-index:2; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.85); display:flex; align-items:center; justify-content:center;}
  .fav-btn svg{width:16px; height:16px; stroke:var(--ink); fill:none; stroke-width:2;}
  .fav-btn.active svg{fill:var(--red); stroke:var(--red);}
  .p-info{padding:12px 14px 14px; display:flex; flex-direction:column; gap:7px; flex:1;}
  .p-cat{font-size:11.5px; color:var(--text-soft); font-weight:600;}
  .p-name{font-size:14.5px; font-weight:700; line-height:1.5;}
  .p-meta{display:flex; gap:10px; font-size:11px; color:var(--text-soft); flex-wrap:wrap;}
  .p-meta span{display:flex; align-items:center; gap:4px;}
  .p-meta svg{width:12px; height:12px; stroke:var(--text-soft); fill:none; stroke-width:2;}
  .p-stars{display:flex; align-items:center; gap:3px; font-size:12px; color:var(--text-soft);}
  .p-stars svg{width:13px; height:13px; fill:var(--yellow); stroke:none;}
  .p-bottom{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:6px;}
  .p-price{font-family:var(--font-display); font-weight:800; font-size:15px;}
  .p-price small{font-size:11px; font-weight:600; color:var(--text-soft);}
  .add-btn{width:36px; height:36px; border-radius:50%; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; transition:transform .15s ease, background .2s;}
  .add-btn:active{transform:scale(.85);}
  .add-btn svg{width:17px; height:17px; stroke:#fff; fill:none; stroke-width:2.4;}

  .promo-split{display:grid; grid-template-columns:1fr; gap:14px; padding:0 20px;}
  @media(min-width:720px){ .promo-split{grid-template-columns:1fr 1fr;} }
  .promo-tile{border-radius:var(--radius-lg); padding:28px 24px; min-height:190px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; gap:10px;}
  .promo-tile h3{font-size:22px; font-weight:800;}
  .promo-tile p{font-size:13.5px; opacity:.9; max-width:220px;}
  .promo-tile .go{position:absolute; bottom:18px; inset-inline-end:18px; width:44px; height:44px; border-radius:50%; background:rgba(0,0,0,.12); display:flex; align-items:center; justify-content:center;}
  .promo-tile .go svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2.4; transform:scaleX(-1);}
  .promo-1{background:var(--blue); color:#fff;}
  .promo-2{background:var(--yellow); color:var(--ink);}

  .trust-strip{margin:44px 20px 0; background:var(--chip); color:var(--chip-text); border-radius:var(--radius-md); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-around; padding:18px 14px; gap:14px;}
  .trust-item{display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600;}
  .trust-item svg{width:22px; height:22px; stroke:var(--yellow); fill:none; stroke-width:1.8; flex-shrink:0;}
  @media(min-width:720px){ .trust-strip{justify-content:space-between; padding:22px 30px;} }

  .news-card{margin:44px 20px 0; border-radius:var(--radius-lg); background:var(--green-soft); border:1px solid var(--border); padding:34px 24px; text-align:center;}
  .news-card h3{font-size:21px; font-weight:800; margin-bottom:8px;}
  .news-card p{font-size:13.5px; color:var(--text-soft); margin-bottom:20px;}
  .news-form{display:flex; max-width:380px; margin:0 auto; gap:8px;}
  .news-form input{flex:1; padding:13px 16px; border-radius:999px; border:1px solid var(--border); background:var(--surface); color:var(--text); font-family:inherit; font-size:14px;}
  .news-form button{background:var(--ink); color:#fff; padding:0 20px; border-radius:999px; font-weight:700; font-size:13.5px;}

  footer.site{margin-top:56px; background:var(--ink); color:#EDEBE3; padding-top:40px;}
  .footer-grid{display:grid; grid-template-columns:1fr; gap:32px; padding-bottom:28px;}
  @media(min-width:720px){ .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;} }
  .footer-brand .brand .wordmark{color:#fff;}
  .footer-brand p{font-size:13px; color:#B7B5AE; line-height:1.9; margin-top:12px; max-width:280px;}
  .footer-col h4{font-size:13.5px; font-weight:700; margin-bottom:14px; color:var(--yellow);}
  .footer-col ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
  .footer-col a{font-size:13.5px; color:#CFCDC5;}
  .footer-col a:hover{color:#fff;}
  .socials{display:flex; gap:10px; margin-top:16px;}
  .socials a{width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center;}
  .socials a svg{width:16px; height:16px; stroke:#fff; fill:none; stroke-width:1.8;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.1); padding:18px 20px calc(20px + env(safe-area-inset-bottom, 0px)); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; font-size:12.5px; color:#9C9A92;}
  @media(max-width:480px){ .footer-bottom{flex-direction:column-reverse; justify-content:center; text-align:center; gap:16px;} }
  .theme-toggle{display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.08); padding:6px; border-radius:999px;}
  .theme-toggle button{width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#9C9A92; transition:background .2s, color .2s;}
  .theme-toggle button svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2;}
  .theme-toggle button.active{background:var(--yellow); color:var(--ink);}

  .overlay{position:fixed; inset:0; background:rgba(10,10,10,.5); z-index:100; opacity:0; pointer-events:none; transition:opacity .25s ease;}
  .overlay.show{opacity:1; pointer-events:auto;}
  .drawer{position:fixed; top:0; bottom:0; z-index:101; width:min(400px,88vw); background:var(--surface); display:flex; flex-direction:column; transition:transform .3s ease; box-shadow:-8px 0 30px rgba(0,0,0,.18);}
  .drawer.right{inset-inline-end:0; transform:translateX(105%);}
  html[dir="rtl"] .drawer.right{transform:translateX(-105%);}
  .drawer.right.show{transform:translateX(0);}
  html[dir="rtl"] .drawer.right.show{transform:translateX(0);}
  .drawer.left{inset-inline-start:0; transform:translateX(-105%);}
  html[dir="rtl"] .drawer.left{transform:translateX(105%);}
  .drawer.left.show{transform:translateX(0);}
  html[dir="rtl"] .drawer.left.show{transform:translateX(0);}
  .drawer-head{display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--border);}
  .drawer-head h3{font-size:17px; font-weight:800;}
  .drawer-close{width:32px; height:32px; border-radius:50%; background:var(--bg); display:flex; align-items:center; justify-content:center;}
  .drawer-close svg{width:16px; height:16px; stroke:var(--text); fill:none; stroke-width:2;}
  .drawer-body{flex:1; overflow-y:auto; padding:18px 20px;}
  .drawer-footer{padding:16px 20px 22px; border-top:1px solid var(--border);}
  .empty-state{text-align:center; padding:40px 10px; color:var(--text-soft);}
  .empty-state svg{width:52px; height:52px; stroke:var(--border); fill:none; stroke-width:1.4; margin-bottom:14px;}
  .empty-state p{font-size:14px; margin-bottom:18px;}
  .cart-row{display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); align-items:center;}
  .cart-row .thumb{width:56px; height:56px; border-radius:12px; background:var(--bg); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .cart-row .thumb svg{width:60%; height:60%;}
  .cart-row .info{flex:1;}
  .cart-row .info b{font-size:13.5px; display:block; margin-bottom:4px;}
  .cart-row .info span{font-size:12px; color:var(--text-soft);}
  .qty-ctrl{display:flex; align-items:center; gap:8px; margin-top:6px;}
  .qty-ctrl button{width:22px; height:22px; border-radius:50%; border:1px solid var(--border); font-size:14px; display:flex; align-items:center; justify-content:center; background:var(--surface);}
  .qty-ctrl span{font-size:13px; font-weight:700; min-width:16px; text-align:center;}
  .cart-total-row{display:flex; justify-content:space-between; font-size:14px; margin-bottom:14px;}
  .cart-total-row b{font-family:var(--font-display); font-size:18px;}
  .nav-drawer-links{display:flex; flex-direction:column; gap:2px;}
  .nav-drawer-links a{padding:14px 8px; font-size:15.5px; font-weight:700; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:10px;}
  .nav-drawer-links a svg{width:18px; height:18px; stroke:var(--text-soft); fill:none; stroke-width:2;}

  .search-modal{position:fixed; inset:0; z-index:102; background:var(--bg); opacity:0; pointer-events:none; transition:opacity .25s ease; display:flex; flex-direction:column;}
  .search-modal.show{opacity:1; pointer-events:auto;}
  .search-top{display:flex; gap:10px; padding:16px 20px; border-bottom:1px solid var(--border); align-items:center;}
  .search-top input{flex:1; padding:13px 16px; border-radius:999px; border:1px solid var(--border); background:var(--surface); color:var(--text); font-family:inherit; font-size:14.5px;}
  .search-body{padding:20px; overflow-y:auto;}
  .search-body h4{font-size:13px; color:var(--text-soft); margin-bottom:12px; font-weight:700;}
  .chip-row{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px;}
  .chip{padding:9px 16px; border-radius:999px; font-size:13px; font-weight:600; border:1px solid var(--border); background:var(--surface);}
  .chip.c-red{background:var(--red); color:#fff; border-color:var(--red);}
  .chip.c-blue{background:var(--blue); color:#fff; border-color:var(--blue);}
  .chip.c-yellow{background:var(--yellow); border-color:var(--yellow);}
  .chip.c-green{background:var(--green); color:#fff; border-color:var(--green);}

  .auth-modal-wrap{position:fixed; inset:0; z-index:103; display:flex; align-items:flex-end; justify-content:center; opacity:0; pointer-events:none; transition:opacity .25s ease;}
  @media(min-width:640px){ .auth-modal-wrap{align-items:center;} }
  .auth-modal-wrap.show{opacity:1; pointer-events:auto;}
  .auth-box{background:var(--surface); width:100%; max-width:420px; border-radius:24px 24px 0 0; padding:26px 24px 30px;}
  @media(min-width:640px){ .auth-box{border-radius:24px;} }
  .auth-tabs{display:flex; gap:6px; background:var(--bg); border-radius:999px; padding:4px; margin-bottom:22px;}
  .auth-tabs button{flex:1; padding:10px; border-radius:999px; font-size:13.5px; font-weight:700; color:var(--text-soft);}
  .auth-tabs button.active{background:var(--ink); color:#fff;}
  .auth-box h3{font-size:19px; font-weight:800; margin-bottom:6px;}
  .auth-box p.hint{font-size:13px; color:var(--text-soft); margin-bottom:18px;}
  .auth-box input{width:100%; padding:14px 16px; border-radius:14px; border:1px solid var(--border); background:var(--bg); color:var(--text); font-family:inherit; font-size:14.5px; margin-bottom:12px;}
  .auth-box .btn-primary{width:100%; justify-content:center; margin-top:6px;}
  .auth-legal{font-size:11.5px; color:var(--text-soft); text-align:center; margin-top:14px; line-height:1.8;}

  .toast{position:fixed; bottom:22px; left:50%; transform:translateX(-50%) translateY(120%); z-index:200; background:var(--ink); color:#fff; padding:13px 22px; border-radius:999px; font-size:13.5px; font-weight:600; display:flex; align-items:center; gap:8px; transition:transform .3s ease; box-shadow:0 8px 24px rgba(0,0,0,.2);}
  .toast.show{transform:translateX(-50%) translateY(0);}
  .toast svg{width:15px; height:15px; stroke:var(--yellow); fill:none; stroke-width:2.4;}

  #admin-root{display:none;}
  #admin-root.open{display:block;}
  .admin-shell{min-height:100vh; background:var(--bg); padding:20px;}
  .admin-lock{max-width:360px; margin:60px auto; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:30px 26px; text-align:center;}
  .admin-lock h3{font-size:18px; font-weight:800; margin-bottom:6px;}
  .admin-lock p{font-size:13px; color:var(--text-soft); margin-bottom:20px;}
  .admin-lock input{width:100%; padding:13px 16px; border-radius:12px; border:1px solid var(--border); background:var(--bg); color:var(--text); margin-bottom:10px; font-family:inherit;}
  .admin-panel{max-width:1000px; margin:0 auto;}
  .admin-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; flex-wrap:wrap; gap:12px;}
  .admin-head h2{font-size:22px; font-weight:800;}
  .admin-grid{display:grid; grid-template-columns:1fr; gap:20px;}
  @media(min-width:900px){ .admin-grid{grid-template-columns:1fr 1.3fr;} }
  .admin-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); padding:22px;}
  .admin-card h3{font-size:15px; font-weight:800; margin-bottom:16px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px;}
  .form-row.full{grid-template-columns:1fr;}
  .form-row input, .form-row select{padding:11px 12px; border-radius:10px; border:1px solid var(--border); background:var(--bg); color:var(--text); font-family:inherit; font-size:13.5px;}
  .admin-table{width:100%; border-collapse:collapse; font-size:13px;}
  .admin-table th{text-align:right; color:var(--text-soft); font-weight:600; padding:8px 6px; border-bottom:1px solid var(--border); font-size:12px;}
  .admin-table td{padding:9px 6px; border-bottom:1px solid var(--border); vertical-align:middle;}
  .admin-table tr:last-child td{border-bottom:none;}
  .row-actions{display:flex; gap:6px;}
  .row-actions button{width:28px; height:28px; border-radius:8px; background:var(--bg); display:flex; align-items:center; justify-content:center;}
  .row-actions button svg{width:14px; height:14px; stroke:var(--text-soft); fill:none; stroke-width:2;}
  .row-actions button.del svg{stroke:var(--red);}
  .admin-table-wrap{max-height:520px; overflow-y:auto;}

  .reveal-once{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
  .reveal-once.in{opacity:1; transform:translateY(0);}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

/* ================= WOOCOMMERCE INTEGRATION ================= */
.legom-shop-wrap{padding:20px 0 60px;}
.legom-shop-wrap .page-title{font-size:24px; font-weight:800; margin:20px 20px 18px; padding:0 20px;}
ul.products{
  display:grid !important; grid-template-columns:1fr 1fr; gap:14px; padding:0 20px; list-style:none !important;
}
@media(min-width:640px){ ul.products{grid-template-columns:repeat(3,1fr) !important;} }
@media(min-width:920px){ ul.products{grid-template-columns:repeat(4,1fr) !important;} }
ul.products li.product{margin:0 !important; width:auto !important;}
.woocommerce-pagination{padding:20px; text-align:center;}
.woocommerce-pagination a, .woocommerce-pagination span{
  display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px;
  border-radius:50%; margin:0 3px; border:1px solid var(--border); font-size:13px;
}
.woocommerce-pagination .current{background:var(--ink); color:#fff;}
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  margin:16px 20px; padding:14px 18px; border-radius:14px; background:var(--surface);
  border:1px solid var(--border); font-size:13.5px; list-style:none;
}
.woocommerce-error{border-color:var(--red); color:var(--red);}
/* single product page */
.woocommerce div.product{padding:20px; max-width:1180px; margin:0 auto;}
.woocommerce div.product .summary{padding-top:18px;}
.woocommerce div.product .product_title{font-family:var(--font-display); font-size:24px; font-weight:800;}
.woocommerce div.product p.price{font-family:var(--font-display); font-size:20px; font-weight:800; color:var(--red-dark);}
.woocommerce div.product form.cart .button{
  background:var(--ink); color:#fff; padding:14px 28px; border-radius:999px; font-weight:700; border:none;
}
.woocommerce div.product .woocommerce-product-gallery{border-radius:var(--radius-md); overflow:hidden;}
/* cart & checkout pages */
.woocommerce-cart table.cart, .woocommerce-checkout table.cart{width:100%; border-collapse:collapse;}
.woocommerce table.cart td, .woocommerce table.cart th{padding:12px; border-bottom:1px solid var(--border);}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:var(--ink); color:#fff !important; padding:13px 24px; border-radius:999px; font-weight:700; border:none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover{filter:brightness(1.2);}
/* my account page */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0 20px;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  padding:9px 16px; border-radius:999px; background:var(--surface); border:1px solid var(--border); font-size:13px; font-weight:600;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--ink); color:#fff;}
.woocommerce-account .woocommerce-MyAccount-content{padding:20px; max-width:640px;}
.woocommerce form .form-row input.input-text{
  width:100%; padding:13px 16px; border-radius:14px; border:1px solid var(--border); background:var(--bg); color:var(--text); font-family:inherit;
}
.woocommerce form .form-row label{font-size:13px; font-weight:600; margin-bottom:6px; display:block;}
