:root{
  --orange:#F2600C;
  --orange-dark:#D9540A;
  --red:#E4272D;
  --green:#1B8F6B;
  --ink:#222222;
  --gray-txt:#666666;
  --line:#E7E7E7;
  --bg-panel:#F5F5F5;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:'Inter',Arial,sans-serif;color:var(--ink);background:#fff;font-size:14px;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px;}
.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:5px;font-weight:700;font-size:13.5px;padding:10px 18px;cursor:pointer;}
.btn-orange{background:var(--orange);color:#fff;}
.btn-orange:hover{background:var(--orange-dark);}
.btn-outline{background:#fff;border:1.5px solid var(--line);color:#333;}
.btn-outline:hover{border-color:var(--orange);color:var(--orange-dark);}
.btn-whatsapp{background:#25D366;color:#0B2915;}
.btn-danger{background:var(--red);color:#fff;}
.btn-block{width:100%;justify-content:center;}
.badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:700;}
.badge-orange{background:#FDECE0;color:var(--orange-dark);}
.badge-green{background:#E4F1EE;color:var(--green);}
.badge-red{background:#FDECEA;color:var(--red);}
.badge-gray{background:#EFEFEF;color:#555;}

/* utility + header (storefront) */
.utility{background:#fff;border-bottom:1px solid var(--line);font-size:12.5px;}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;color:#444;flex-wrap:wrap;gap:6px;}
.utility .left,.utility .right{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.utility a{display:flex;align-items:center;gap:5px;}
.flag{display:inline-block;width:14px;height:14px;border-radius:50%;background:linear-gradient(180deg,#1EB53A 0 33%,#000 33% 66%,#00A3DD 66% 100%);}

.main-header{padding:16px 0;}
.main-header .wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.brand .mark{width:34px;height:34px;border-radius:8px;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;}
.brand .txt-a{font-size:20px;font-weight:800;color:var(--orange);}
.brand .txt-b{font-size:20px;font-weight:800;color:var(--ink);}
.brand-sub{font-size:10.5px;color:var(--gray-txt);}
.searchbar{flex:1;display:flex;border:2px solid var(--orange);border-radius:6px;overflow:hidden;height:42px;min-width:220px;}
.searchbar input{flex:1;border:none;outline:none;padding:0 14px;font-size:13.5px;}
.searchbar button{border:none;background:var(--orange);color:#fff;padding:0 22px;font-weight:700;font-size:13.5px;}
.searchbar button:hover{background:var(--orange-dark);}
.header-actions{display:flex;align-items:center;gap:16px;flex:0 0 auto;font-size:13px;}
.header-actions .cart-btn{border:1.5px solid var(--orange);color:var(--orange);border-radius:22px;padding:8px 16px;font-weight:700;display:flex;align-items:center;gap:6px;}
.cat-toggle-row{border-bottom:1px solid var(--line);}
.cat-toggle-row .wrap{display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding:10px 24px;}
.cat-toggle{background:var(--orange);color:#fff;font-weight:700;font-size:13px;padding:10px 18px;border-radius:4px;display:flex;align-items:center;gap:8px;}
.cat-links{display:flex;gap:22px;font-size:13px;color:#444;flex-wrap:wrap;}
.cat-links a:hover{color:var(--orange);}

main.wrap{padding-top:22px;padding-bottom:40px;min-height:60vh;}

.sec-head{display:flex;align-items:center;justify-content:space-between;margin:30px 0 16px;}
.sec-head .h{display:flex;align-items:center;gap:8px;}
.sec-head .bullet{width:9px;height:9px;border-radius:50%;background:var(--orange);}
.sec-head h2{font-size:19px;font-weight:800;margin:0;}

/* product grid */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.prod-card{border:1px solid var(--line);border-radius:8px;padding:14px;position:relative;background:#fff;display:flex;flex-direction:column;}
.prod-card .badge-corner{position:absolute;top:10px;left:10px;z-index:1;}
.prod-thumb{height:150px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:40px;margin-bottom:10px;overflow:hidden;}
.prod-thumb img{width:100%;height:100%;object-fit:cover;}
.prod-brand{font-size:11px;color:var(--gray-txt);text-transform:uppercase;font-weight:700;letter-spacing:.03em;}
.prod-name{font-weight:700;font-size:14px;margin:4px 0 6px;line-height:1.3;}
.prod-price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;}
.prod-price{color:var(--red);font-weight:800;font-size:15px;}
.prod-price-old{font-size:11.5px;color:#AAA;text-decoration:line-through;}
.prod-actions{margin-top:auto;display:flex;gap:8px;padding-top:8px;}
.prod-actions .btn{flex:1;justify-content:center;padding:8px 8px;font-size:12px;}

.cat-grid{grid-template-columns:repeat(4,1fr);}

@media (max-width:1000px){
  .prod-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:420px){
  .prod-grid{gap:10px;}
  .prod-card{padding:10px;}
  .prod-thumb{height:120px;}
  .prod-name{font-size:13px;}
  .prod-actions{flex-direction:column;}
}

/* filters bar */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.filters select,.filters input{border:1px solid var(--line);border-radius:5px;padding:9px 12px;font-size:13px;}

/* product detail */
.pd-grid{display:grid;grid-template-columns:380px 1fr;gap:30px;}
.pd-media{background:var(--bg-panel);border-radius:8px;height:380px;display:flex;align-items:center;justify-content:center;font-size:90px;overflow:hidden;}
.pd-media img{width:100%;height:100%;object-fit:cover;}
.pd-info h1{font-size:24px;margin-bottom:6px;}
.pd-meta{font-size:12.5px;color:var(--gray-txt);margin-bottom:16px;}
.pd-desc{font-size:13.5px;color:#444;line-height:1.6;margin-bottom:20px;}
.variant-row{margin-bottom:16px;}
.variant-row label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#6B707B;margin-bottom:8px;}
.chip-group{display:flex;gap:8px;flex-wrap:wrap;}
.chip{border:1.5px solid var(--line);background:#fff;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:600;color:#333;cursor:pointer;}
.chip.active{border-color:var(--orange);background:#FEF1E4;color:var(--orange-dark);}
.pd-price-row{display:flex;align-items:baseline;gap:10px;margin:18px 0;padding-top:18px;border-top:1px solid var(--line);}
.pd-price{font-size:26px;font-weight:800;color:var(--red);}
.pd-actions{display:flex;gap:10px;flex-wrap:wrap;}
.trust-mini{display:flex;gap:14px;margin-top:20px;flex-wrap:wrap;}
.trust-mini span{font-size:11.5px;background:var(--bg-panel);padding:6px 10px;border-radius:5px;}

@media (max-width:800px){ .pd-grid{grid-template-columns:1fr;} .pd-media{height:280px;} }

/* cart / checkout */
.cart-table{width:100%;border-collapse:collapse;margin-bottom:20px;}
.cart-table th{text-align:left;font-size:11.5px;color:var(--gray-txt);text-transform:uppercase;padding:10px 8px;border-bottom:2px solid var(--line);}
.cart-table td{padding:12px 8px;border-bottom:1px solid var(--line);font-size:13.5px;vertical-align:middle;}
.cart-item-name{font-weight:700;}
.cart-item-variant{font-size:11.5px;color:var(--gray-txt);}
.qty-input{width:56px;padding:6px;border:1px solid var(--line);border-radius:5px;text-align:center;}
.cart-summary{background:var(--bg-panel);border-radius:8px;padding:20px;max-width:380px;margin-left:auto;}
.cart-summary .row{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:10px;}
.cart-summary .row.total{font-weight:800;font-size:16px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px;}
.empty-state{text-align:center;padding:60px 20px;color:var(--gray-txt);}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-grid .full{grid-column:1/-1;}
.form-field label{display:block;font-size:12.5px;font-weight:700;margin-bottom:6px;}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:5px;padding:10px 12px;font-size:13.5px;font-family:inherit;}
.form-field textarea{resize:vertical;min-height:80px;}
.form-note{font-size:11.5px;color:var(--gray-txt);margin-top:4px;}
.auth-card{max-width:420px;margin:20px auto;border:1px solid var(--line);border-radius:8px;padding:28px;}
.auth-card h1{font-size:20px;margin-bottom:6px;}
.auth-card p.sub{font-size:13px;color:var(--gray-txt);margin-bottom:20px;}
.alert{padding:12px 14px;border-radius:6px;font-size:13px;margin-bottom:16px;}
.alert-error{background:#FDECEA;color:#9A2A22;border:1px solid #F3C6C1;}
.alert-success{background:#EAF7F1;color:#146B4F;border:1px solid #BFE3D0;}
.pay-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.pay-option{border:1.5px solid var(--line);border-radius:6px;padding:10px 14px;font-size:12.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;}
.pay-option input{margin:0;}

/* footer */
footer{margin-top:40px;}
.trust-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;}
.trust-row .wrap{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.trust-col .ic{font-size:22px;}
.trust-col .t{font-weight:700;font-size:12.5px;margin-top:4px;}
.trust-col .d{font-size:11px;color:var(--gray-txt);margin-top:2px;}
.mid-footer{padding:26px 0;border-bottom:1px solid var(--line);}
.mid-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px;}
.mid-footer h5{font-size:13px;font-weight:800;margin-bottom:10px;}
.mid-footer li{font-size:12.5px;color:#444;margin-bottom:8px;}
.bottom-footer{padding:20px 0 30px;font-size:12px;color:var(--gray-txt);}
.bottom-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.float-wa{position:fixed;bottom:22px;right:22px;background:#25D366;color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 8px 20px rgba(37,211,102,.4);z-index:50;}

@media (max-width:900px){
  .trust-row .wrap{grid-template-columns:repeat(2,1fr);}
  .mid-footer .wrap{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
}

/* ---------------- ADMIN ---------------- */
.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh;}
.admin-side{background:#181B21;color:#C9CCD6;padding:20px 0;}
.admin-side .brand{padding:0 20px 20px;color:#fff;border-bottom:1px solid #2A2E36;margin-bottom:14px;}
.admin-nav a{display:flex;align-items:center;gap:10px;padding:12px 20px;font-size:13.5px;color:#C9CCD6;}
.admin-nav a:hover,.admin-nav a.active{background:#232730;color:#fff;border-left:3px solid var(--orange);}
.admin-main{padding:26px 30px;background:#F7F7F7;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
.admin-topbar h1{font-size:20px;}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;}
.stat-card .label{font-size:11.5px;color:var(--gray-txt);text-transform:uppercase;font-weight:700;}
.stat-card .value{font-size:24px;font-weight:800;margin-top:6px;}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;margin-bottom:22px;}
.admin-panel h3{font-size:15px;margin-bottom:14px;}
.admin-table{width:100%;border-collapse:collapse;}
.admin-table th{text-align:left;font-size:11.5px;color:var(--gray-txt);text-transform:uppercase;padding:10px 8px;border-bottom:2px solid var(--line);}
.admin-table td{padding:10px 8px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle;}
.status-select{border:1px solid var(--line);border-radius:5px;padding:6px 8px;font-size:12.5px;}
.thumb-mini{width:40px;height:40px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:18px;overflow:hidden;}
.thumb-mini img{width:100%;height:100%;object-fit:cover;}
.inline-form{display:inline;}
.row-actions{display:flex;gap:6px;}
.row-actions .btn{padding:6px 10px;font-size:11.5px;}

/* ============================================================
   MOBILE (storefront + admin) — small-screen rework
   ============================================================ */
@media (max-width:760px){
  .wrap{padding:0 14px;}

  /* utility bar: stack, shrink, allow horizontal scroll instead of wrap-overflow */
  .utility .wrap{height:auto;padding:8px 14px;flex-direction:column;align-items:flex-start;gap:6px;}
  .utility .left,.utility .right{width:100%;justify-content:space-between;gap:10px;}

  /* header: brand full width on its own row, search full width below it, actions full width row */
  .main-header{padding:12px 0;}
  .main-header .wrap{flex-direction:column;align-items:stretch;gap:10px;}
  .brand{justify-content:center;}
  .searchbar{width:100%;height:44px;}
  .header-actions{justify-content:space-between;width:100%;}
  .header-actions .cart-btn{flex:1;justify-content:center;}
  .header-actions .btn{flex:0 0 auto;}

  /* category row: horizontal scroll strip, no wrapping/clipping */
  .cat-toggle-row .wrap{flex-wrap:nowrap;overflow-x:auto;padding:10px 14px;gap:14px;-webkit-overflow-scrolling:touch;}
  .cat-toggle{flex:0 0 auto;white-space:nowrap;}
  .cat-links{flex-wrap:nowrap;gap:16px;}
  .cat-links a{white-space:nowrap;}

  main.wrap{padding-top:16px;}
  .sec-head{margin:20px 0 12px;}
  .sec-head h2{font-size:16px;}

  /* product grid: 2-up stays, tighten card chrome */
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .prod-card{padding:10px;}
  .prod-thumb{height:130px;margin-bottom:8px;}
  .prod-name{font-size:12.5px;}
  .prod-price{font-size:13.5px;}
  .prod-actions{flex-direction:column;gap:6px;}
  .prod-actions .btn{width:100%;}

  /* filters: stack full-width, easier to tap */
  .filters{flex-direction:column;}
  .filters select,.filters input,.filters button{width:100%;}

  /* product detail page */
  .pd-grid{grid-template-columns:1fr;gap:18px;}
  .pd-media{height:260px;}
  .pd-info h1{font-size:19px;}
  .pd-actions{flex-direction:column;}
  .pd-actions .btn{width:100%;justify-content:center;}
  .pd-price-row{flex-wrap:wrap;}

  /* tables (cart, orders, admin) scroll horizontally instead of squeezing/breaking */
  .cart-table,.admin-table{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  .cart-summary{max-width:100%;margin-left:0;}

  /* forms */
  .form-grid{grid-template-columns:1fr;}
  .auth-card{margin:14px auto;padding:20px;max-width:100%;}
  .pay-options{flex-direction:column;}
  .pay-option{width:100%;}

  /* footer */
  .trust-row .wrap{grid-template-columns:1fr 1fr;}
  .mid-footer .wrap{grid-template-columns:1fr;gap:18px;}
  .bottom-footer .wrap{flex-direction:column;align-items:flex-start;}
  .float-wa{width:46px;height:46px;bottom:16px;right:16px;font-size:20px;}

  /* admin dashboard: sidebar becomes a top scroll strip, no fixed 230px column */
  .admin-shell{display:block;}
  .admin-side{width:100%;padding:12px 0;}
  .admin-side .brand{padding:0 14px 12px;margin-bottom:8px;}
  .admin-nav{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .admin-nav a{flex:0 0 auto;white-space:nowrap;border-left:none !important;border-bottom:3px solid transparent;padding:10px 14px;}
  .admin-nav a:hover,.admin-nav a.active{border-bottom-color:var(--orange);}
  .admin-main{padding:16px 14px;}
  .admin-topbar{flex-direction:column;align-items:flex-start;gap:10px;}
  .stat-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .admin-panel{padding:14px;}
}

@media (max-width:380px){
  .prod-grid{grid-template-columns:1fr;}
  .cat-grid{grid-template-columns:1fr 1fr;}
  .stat-grid{grid-template-columns:1fr;}
}
