/* ============================================================
   BD Ecommerce Pro — Public CSS
   ============================================================ */
:root {
  --bdec-primary:   #1a1a2e;
  --bdec-accent:    #e94560;
  --bdec-green:     #27ae60;
  --bdec-yellow:    #f39c12;
  --bdec-light:     #f8f9fa;
  --bdec-border:    #e0e0e0;
  --bdec-text:      #333;
  --bdec-muted:     #777;
  --bdec-radius:    8px;
  --bdec-shadow:    0 2px 12px rgba(0,0,0,.08);
}

/* ── Reset ── */
.bdec-shop-wrap *,
.bdec-cart-wrap *,
.bdec-checkout-wrap *,
.bdec-thankyou-wrap *,
.bdec-single-product *,
.bdec-account-wrap * { box-sizing: border-box; }

/* ── Shop ── */
.bdec-shop-header { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:24px; }
.bdec-search-form { display:flex; }
.bdec-search-form input { border:1px solid var(--bdec-border); border-right:none; padding:8px 14px; border-radius:var(--bdec-radius) 0 0 var(--bdec-radius); font-size:14px; outline:none; min-width:220px; }
.bdec-search-form button { background:var(--bdec-primary); color:#fff; border:none; padding:8px 14px; border-radius:0 var(--bdec-radius) var(--bdec-radius) 0; cursor:pointer; font-size:16px; }
.bdec-categories { display:flex; flex-wrap:wrap; gap:8px; }
.bdec-cat-btn { padding:6px 14px; border-radius:20px; border:1px solid var(--bdec-border); background:#fff; color:var(--bdec-text); font-size:13px; cursor:pointer; text-decoration:none; transition:.2s; }
.bdec-cat-btn:hover,.bdec-cat-btn.active { background:var(--bdec-primary); color:#fff; border-color:var(--bdec-primary); }
.bdec-products-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
.bdec-product-card { background:#fff; border:1px solid var(--bdec-border); border-radius:var(--bdec-radius); overflow:hidden; box-shadow:var(--bdec-shadow); transition:transform .2s,box-shadow .2s; }
.bdec-product-card:hover { transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,0,0,.12); }
.bdec-product-img-link { display:block; position:relative; background:var(--bdec-light); height:200px; overflow:hidden; }
.bdec-product-img-link img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.bdec-product-card:hover .bdec-product-img-link img { transform:scale(1.05); }
.bdec-no-img { display:flex; align-items:center; justify-content:center; height:100%; font-size:48px; color:var(--bdec-border); }
.bdec-badge-sale { position:absolute; top:10px; left:10px; background:var(--bdec-accent); color:#fff; padding:3px 10px; border-radius:12px; font-size:12px; font-weight:700; z-index:1; }
.bdec-product-info { padding:14px; }
.bdec-product-info h3 { margin:0 0 8px; font-size:15px; line-height:1.4; }
.bdec-product-info h3 a { color:var(--bdec-text); text-decoration:none; }
.bdec-product-info h3 a:hover { color:var(--bdec-accent); }
.bdec-price-wrap { margin-bottom:12px; }
.bdec-original-price,.bdec-old-price { color:var(--bdec-muted); text-decoration:line-through; font-size:13px; margin-right:6px; }
.bdec-current-price,.bdec-sale-price { color:var(--bdec-accent); font-weight:700; font-size:16px; }
.bdec-save-pct { background:#fff3e0; color:var(--bdec-yellow); font-size:12px; padding:2px 8px; border-radius:10px; font-weight:600; }
.bdec-add-to-cart-btn { width:100%; background:var(--bdec-primary); color:#fff; border:none; padding:10px; border-radius:var(--bdec-radius); font-size:14px; cursor:pointer; transition:background .2s; font-weight:600; }
.bdec-add-to-cart-btn:hover { background:var(--bdec-accent); }
.bdec-btn-disabled { width:100%; background:#ccc; color:#888; border:none; padding:10px; border-radius:var(--bdec-radius); font-size:14px; cursor:not-allowed; }

/* ── Pagination ── */
.bdec-pagination { margin-top:24px; display:flex; gap:8px; justify-content:center; }
.bdec-page-link { padding:8px 14px; border:1px solid var(--bdec-border); border-radius:var(--bdec-radius); text-decoration:none; color:var(--bdec-text); font-size:14px; }
.bdec-page-link.active,.bdec-page-link:hover { background:var(--bdec-primary); color:#fff; border-color:var(--bdec-primary); }

/* ── Empty ── */
.bdec-empty,.bdec-empty-cart { text-align:center; padding:60px 20px; color:var(--bdec-muted); }
.bdec-cart-icon { font-size:60px; display:block; margin-bottom:12px; }

/* ── Cart ── */
.bdec-cart-layout { display:grid; grid-template-columns:1fr 340px; gap:24px; align-items:start; }
@media(max-width:768px){ .bdec-cart-layout { grid-template-columns:1fr; } }
.bdec-cart-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--bdec-border); border-radius:var(--bdec-radius); overflow:hidden; }
.bdec-cart-table th { background:var(--bdec-primary); color:#fff; padding:12px 16px; font-size:13px; text-align:left; }
.bdec-cart-table td { padding:12px 16px; border-bottom:1px solid var(--bdec-border); font-size:14px; vertical-align:middle; }
.bdec-cart-product { display:flex; align-items:center; gap:12px; }
.bdec-cart-product img { width:56px; height:56px; object-fit:cover; border-radius:4px; border:1px solid var(--bdec-border); }
.bdec-qty-input { width:64px; border:1px solid var(--bdec-border); border-radius:4px; padding:6px 8px; font-size:14px; text-align:center; }
.bdec-remove-item { background:none; border:none; color:var(--bdec-muted); font-size:16px; cursor:pointer; padding:4px 8px; }
.bdec-remove-item:hover { color:var(--bdec-accent); }
.bdec-coupon-row { display:flex; gap:8px; margin-top:16px; align-items:center; flex-wrap:wrap; }
.bdec-coupon-row input { border:1px solid var(--bdec-border); padding:8px 12px; border-radius:var(--bdec-radius); font-size:14px; }
.bdec-cart-summary { background:#fff; border:1px solid var(--bdec-border); border-radius:var(--bdec-radius); padding:20px; position:sticky; top:20px; }
.bdec-cart-summary h3 { margin:0 0 16px; font-size:16px; border-bottom:1px solid var(--bdec-border); padding-bottom:12px; }
#bdec-cart-totals { width:100%; border-collapse:collapse; }
#bdec-cart-totals td { padding:8px 0; font-size:14px; border-bottom:1px solid var(--bdec-border); }
#bdec-cart-totals td:last-child { text-align:right; }
.bdec-total-row td { font-size:16px; padding-top:12px; border-bottom:none; }

/* ── Checkout ── */
.bdec-checkout-layout { display:grid; grid-template-columns:1fr 380px; gap:32px; align-items:start; }
@media(max-width:900px){ .bdec-checkout-layout { grid-template-columns:1fr; } }
.bdec-checkout-form-col h3 { font-size:16px; margin:20px 0 12px; border-bottom:1px solid var(--bdec-border); padding-bottom:8px; }
.bdec-checkout-form-col h3:first-child { margin-top:0; }
.bdec-form-row { margin-bottom:14px; }
.bdec-form-row label { display:block; font-size:13px; font-weight:600; margin-bottom:4px; color:var(--bdec-text); }
.bdec-form-row input, .bdec-form-row textarea, .bdec-form-row select { width:100%; padding:10px 12px; border:1px solid var(--bdec-border); border-radius:var(--bdec-radius); font-size:14px; color:var(--bdec-text); outline:none; transition:border .2s; }
.bdec-form-row input:focus, .bdec-form-row textarea:focus, .bdec-form-row select:focus { border-color:var(--bdec-primary); }
.bdec-two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:600px){ .bdec-two-col { grid-template-columns:1fr; } }
.req { color:var(--bdec-accent); }
.bdec-error { color:var(--bdec-accent); font-size:12px; display:block; margin-top:3px; }
.bdec-payment-methods { display:flex; flex-direction:column; gap:10px; }
.bdec-payment-option { display:flex; align-items:center; gap:10px; background:#fff; border:2px solid var(--bdec-border); border-radius:var(--bdec-radius); padding:12px 16px; cursor:pointer; transition:.2s; }
.bdec-payment-option:has(input:checked) { border-color:var(--bdec-primary); background:var(--bdec-light); }
.bdec-payment-option input[type="radio"] { width:18px; height:18px; accent-color:var(--bdec-primary); }
.bdec-payment-label { font-size:14px; font-weight:600; }
.bdec-payment-info { background:#fff8e1; border:1px solid #ffe082; border-radius:var(--bdec-radius); padding:12px 16px; margin-top:8px; font-size:13px; }
.bdec-order-summary-box { background:#fff; border:1px solid var(--bdec-border); border-radius:var(--bdec-radius); padding:20px; position:sticky; top:20px; }
.bdec-order-summary-box h3 { margin:0 0 16px; font-size:16px; border-bottom:1px solid var(--bdec-border); padding-bottom:12px; }
.bdec-summary-table { width:100%; border-collapse:collapse; font-size:14px; }
.bdec-summary-table th { text-align:left; padding:8px 0; border-bottom:2px solid var(--bdec-border); font-size:13px; color:var(--bdec-muted); }
.bdec-summary-table td { padding:8px 0; border-bottom:1px solid var(--bdec-border); }
.bdec-summary-table td:last-child { text-align:right; }
.bdec-summary-table tfoot .bdec-total-row td { font-size:16px; font-weight:700; border-bottom:none; }

/* ── Buttons ── */
.bdec-btn { display:inline-block; background:var(--bdec-primary); color:#fff; padding:12px 24px; border-radius:var(--bdec-radius); text-decoration:none; font-size:14px; font-weight:700; cursor:pointer; border:none; transition:background .2s; text-align:center; }
.bdec-btn:hover { background:var(--bdec-accent); color:#fff; }
.bdec-btn-outline { background:#fff; border:2px solid var(--bdec-primary); color:var(--bdec-primary); padding:10px 20px; border-radius:var(--bdec-radius); font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; transition:.2s; }
.bdec-btn-outline:hover { background:var(--bdec-primary); color:#fff; }
.bdec-btn-link { display:block; text-align:center; color:var(--bdec-muted); font-size:13px; margin-top:10px; text-decoration:none; }
.bdec-btn-link:hover { color:var(--bdec-text); }
.bdec-btn-checkout { width:100%; margin-top:16px; display:block; }
.bdec-btn-place-order { width:100%; margin-top:20px; font-size:16px; padding:14px; }
.bdec-btn-buy-now { display:inline-block; background:var(--bdec-accent); color:#fff; padding:12px 28px; border-radius:var(--bdec-radius); text-decoration:none; font-size:15px; font-weight:700; margin-top:10px; transition:.2s; border:none; cursor:pointer; }
.bdec-btn-buy-now:hover { background:#c0392b; color:#fff; }

/* ── Notices ── */
.bdec-notice { padding:12px 16px; border-radius:var(--bdec-radius); font-size:14px; margin:12px 0; }
.bdec-notice-error { background:#fce4ec; color:#c62828; border:1px solid #ef9a9a; }
.bdec-notice-success { background:#e8f5e9; color:#2e7d32; border:1px solid #a5d6a7; }

/* ── Single Product ── */
.bdec-product-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:32px; }
@media(max-width:768px){ .bdec-product-layout { grid-template-columns:1fr; } }
.bdec-main-img-wrap { position:relative; border-radius:var(--bdec-radius); overflow:hidden; border:1px solid var(--bdec-border); }
.bdec-main-img-wrap img { width:100%; height:400px; object-fit:cover; }
.bdec-thumbnails { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.bdec-thumb { width:72px; height:72px; object-fit:cover; border-radius:4px; border:2px solid var(--bdec-border); cursor:pointer; transition:.2s; }
.bdec-thumb:hover,.bdec-thumb.active { border-color:var(--bdec-primary); }
.bdec-product-title { font-size:24px; margin:0 0 12px; line-height:1.3; }
.bdec-product-cats { margin-bottom:12px; }
.bdec-cat-link { background:var(--bdec-light); color:var(--bdec-muted); font-size:12px; padding:3px 10px; border-radius:10px; text-decoration:none; margin-right:6px; }
.bdec-product-price { margin-bottom:16px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.bdec-old-price { font-size:16px; }
.bdec-sale-price { font-size:26px; font-weight:700; }
.bdec-short-desc { color:var(--bdec-muted); font-size:14px; margin-bottom:16px; }
.bdec-sku { font-size:13px; color:var(--bdec-muted); margin-bottom:8px; }
.bdec-stock-status { margin-bottom:16px; }
.bdec-in-stock { color:var(--bdec-green); font-weight:700; font-size:14px; }
.bdec-out-stock { color:var(--bdec-accent); font-weight:700; font-size:14px; }
.bdec-atc-row { display:flex; gap:12px; align-items:center; }
.bdec-atc-row .bdec-qty-input { width:72px; }
.bdec-atc-large { flex:1; padding:12px; font-size:15px; }
.bdec-atc-msg { margin-top:10px; padding:10px 14px; border-radius:var(--bdec-radius); font-size:14px; font-weight:600; }
.bdec-product-description { border-top:1px solid var(--bdec-border); padding-top:24px; }
.bdec-product-description h3 { margin-bottom:12px; }

/* ── Thank You ── */
.bdec-thankyou-wrap { max-width:680px; margin:0 auto; padding:20px; }
.bdec-thankyou-box { background:#fff; border:1px solid var(--bdec-border); border-radius:12px; padding:36px; text-align:center; box-shadow:var(--bdec-shadow); }
.bdec-thankyou-box.bdec-thankyou-failed { border-color:#ef9a9a; }
.bdec-ty-icon { font-size:60px; margin-bottom:16px; }
.bdec-thankyou-box h2 { font-size:26px; margin:0 0 8px; color:var(--bdec-primary); }
.bdec-ty-sub { color:var(--bdec-muted); margin-bottom:24px; }
.bdec-order-meta-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; background:var(--bdec-light); border-radius:var(--bdec-radius); padding:16px; margin-bottom:24px; text-align:center; }
@media(max-width:600px){ .bdec-order-meta-grid { grid-template-columns:repeat(2,1fr); } }
.bdec-order-meta-grid > div span { display:block; font-size:11px; color:var(--bdec-muted); text-transform:uppercase; margin-bottom:4px; }
.bdec-order-meta-grid > div strong { font-size:14px; color:var(--bdec-text); }
.bdec-payment-instruction { background:#fff8e1; border:1px solid #ffe082; border-radius:var(--bdec-radius); padding:20px; margin:20px 0; text-align:left; }
.bdec-payment-instruction h4 { margin:0 0 10px; font-size:15px; }
.bdec-payment-number { font-size:24px; font-weight:700; color:var(--bdec-primary); letter-spacing:2px; margin:8px 0; }
.bdec-note { font-size:12px; color:var(--bdec-muted); }
.bdec-order-items-summary { text-align:left; margin:20px 0; }
.bdec-order-items-summary h4 { margin:0 0 10px; }
.bdec-order-items-summary table { width:100%; border-collapse:collapse; font-size:14px; }
.bdec-order-items-summary td { padding:8px 0; border-bottom:1px solid var(--bdec-border); }
.bdec-order-items-summary td:last-child { text-align:right; }
.bdec-grand-total td { font-size:16px; font-weight:700; border-bottom:none; }
.bdec-shipping-info { background:var(--bdec-light); border-radius:var(--bdec-radius); padding:12px 16px; margin:16px 0; text-align:left; font-size:14px; }
.bdec-shipping-info h4 { margin:0 0 6px; font-size:14px; }
.bdec-ty-actions { display:flex; gap:12px; justify-content:center; margin-top:24px; flex-wrap:wrap; }

/* ── Account ── */
.bdec-account-wrap { max-width:680px; }
.bdec-auth-tabs { display:flex; border-bottom:2px solid var(--bdec-border); margin-bottom:20px; }
.bdec-auth-tab { background:none; border:none; padding:10px 20px; font-size:15px; font-weight:700; cursor:pointer; color:var(--bdec-muted); border-bottom:2px solid transparent; margin-bottom:-2px; }
.bdec-auth-tab.active { color:var(--bdec-primary); border-bottom-color:var(--bdec-primary); }
.bdec-account-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.bdec-orders-table { width:100%; border-collapse:collapse; }
.bdec-orders-table th { text-align:left; padding:10px 12px; background:var(--bdec-primary); color:#fff; font-size:13px; }
.bdec-orders-table td { padding:10px 12px; border-bottom:1px solid var(--bdec-border); font-size:14px; }
.bdec-status-badge { display:inline-block; padding:3px 10px; border-radius:10px; font-size:12px; background:#e3f2fd; color:#1565c0; }

/* ── Mini Cart Badge ── */
.bdec-cart-count-badge { display:inline-block; background:var(--bdec-accent); color:#fff; border-radius:50%; width:20px; height:20px; font-size:11px; font-weight:700; text-align:center; line-height:20px; vertical-align:middle; margin-left:4px; }

/* ── Responsive ── */
@media(max-width:480px){
    .bdec-products-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
    .bdec-product-img-link { height:150px; }
    .bdec-main-img-wrap img { height:260px; }
}
