:root {
  --bg: #f7f8fa;
  --card: #ffffff;
  --text: #17202a;
  --muted: #6b7280;
  --primary: #159447;
  --primary-dark: #0f7136;
  --accent: #f4b942;
  --border: #e5e7eb;
  --shadow: 0 14px 36px rgba(0,0,0,.08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Arial, "Noto Sans Arabic", sans-serif; background:var(--bg); color:var(--text); }
a { color:inherit; text-decoration:none; }
button, input { font:inherit; }
.topbar { position:sticky; top:0; z-index:20; display:flex; justify-content:space-between; align-items:center; padding:14px 5%; background:rgba(255,255,255,.96); border-bottom:1px solid var(--border); backdrop-filter: blur(10px); }
.brand-wrap { display:flex; gap:12px; align-items:center; }
.logo-img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: 12px;
}
.brand-wrap p { margin:3px 0 0; color:var(--muted); font-size:13px; }
.cart-btn { border:0; background:#eef8f1; color:var(--primary-dark); padding:10px 14px; border-radius:12px; cursor:pointer; font-weight:700; }
.cart-btn span { background:var(--primary); color:white; border-radius:999px; padding:2px 7px; margin-right:4px; }
.nav { display:flex; justify-content:center; gap:24px; padding:12px; background:#fff; border-bottom:1px solid var(--border); position:sticky; top:77px; z-index:15; overflow-x:auto; white-space:nowrap; }
.nav a { color:#374151; font-weight:700; }
.nav a:hover { color:var(--primary); }
main { width:min(1180px, 92%); margin:auto; }
.hero { margin:28px 0; padding:54px; border-radius:28px; background:linear-gradient(135deg,#eaf8ef,#fff8df); display:grid; grid-template-columns:1.4fr .8fr; gap:24px; align-items:center; }
.badge { display:inline-block; background:#fff; color:var(--primary-dark); padding:7px 12px; border-radius:999px; font-size:13px; font-weight:700; }
.hero h2 { font-size:44px; margin:18px 0 12px; }
.hero p { color:var(--muted); font-size:18px; line-height:1.9; }
.primary-btn, .secondary-btn { display:inline-block; border:none; cursor:pointer; border-radius:14px; font-weight:800; padding:13px 20px; }
.primary-btn { background:var(--primary); color:white; }
.primary-btn:hover { background:var(--primary-dark); }
.secondary-btn { background:white; color:var(--primary-dark); }
.hero-card { min-height:230px; border-radius:24px; background:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; box-shadow:var(--shadow); text-align:center; padding:24px; }
.hero-icon { font-size:76px; }
.hero-card span { color:var(--muted); }
.search-section { margin:18px 0 6px; }
.search-section input { width:100%; padding:16px 18px; border:1px solid var(--border); border-radius:16px; background:white; outline:none; box-shadow:0 8px 24px rgba(0,0,0,.04); }
.search-section input:focus { border-color:var(--primary); }
.section { padding:34px 0; }
.section-head { margin-bottom:18px; }
.section-head h3, .contact h3 { font-size:28px; margin:0 0 6px; }
.section-head p, .contact p { margin:0; color:var(--muted); }
.category-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.category { border:1px solid var(--border); background:white; border-radius:16px; padding:16px 10px; cursor:pointer; font-weight:700; }
.category.active, .category:hover { background:var(--primary); color:white; border-color:var(--primary); }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.product-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e5e5e5;
  transition: 0.3s;
}

.product-card:hover {
  transform: translateY(-4px);
}

.product-image-wrap {
  width: 100%;
  height: 220px;
  background: #f5f5f5;
}

.product-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-info {
  padding: 15px;
}

.product-info h3 {
  margin: 0 0 8px;
}

.product-info p {
  color: #666;
  font-size: 14px;
}

.product-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 15px;
}

.add-btn {
  background: #0c8f45;
  color: white;
  border: none;
  padding: 10px 18px;
  min-width: 90px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  font-family: inherit;
  white-space: nowrap;
  text-align: center;
  line-height: 1.4;
}
.add-btn:hover {
  background: #087538;
}
.product-image { height:160px; border-radius:16px; display:grid; place-items:center; background:#f3f4f6; font-size:64px; }
.product-card h4 { margin:14px 0 6px; font-size:18px; }
.product-card p { margin:0; color:var(--muted); min-height:42px; }
.product-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 15px;
}
.price { color:var(--primary-dark); font-weight:800; }
.add-btn { border:0; background:var(--primary); color:white; width:38px; height:38px; border-radius:12px; cursor:pointer; font-size:20px; }
.offer-strip { margin:26px 0 34px; padding:24px 28px; border-radius:22px; background:var(--primary); color:white; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.offer-strip p { margin:6px 0 0; opacity:.9; }
.contact { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; }
.contact-card { background:white; padding:22px; border-radius:20px; border:1px solid var(--border); display:flex; flex-direction:column; gap:12px; }
.cart-panel { position:fixed; top:0; right:-430px; width:min(410px,92vw); height:100%; background:white; z-index:50; transition:.3s; box-shadow:-12px 0 40px rgba(0,0,0,.16); display:flex; flex-direction:column; }
.cart-panel.open { right:0; }
.cart-header { display:flex; justify-content:space-between; align-items:center; padding:18px; border-bottom:1px solid var(--border); }
.cart-header h3 { margin:0; }
.cart-header button { border:0; background:transparent; font-size:22px; cursor:pointer; }
.cart-items { padding:16px; overflow:auto; flex:1; }
.cart-item { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); }
.cart-item small { color:var(--muted); }
.cart-footer { padding:18px; border-top:1px solid var(--border); }
.total-row { display:flex; justify-content:space-between; margin-bottom:14px; font-size:18px; }
.full { width:100%; }
.overlay { position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:40; opacity:0; pointer-events:none; transition:.3s; }
.overlay.show { opacity:1; pointer-events:auto; }
footer { margin-top:30px; padding:28px 5%; background:#111827; color:white; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
@media (max-width:900px){
  .hero { grid-template-columns:1fr; padding:34px; }
  .hero h2 { font-size:34px; }
  .category-grid { grid-template-columns:repeat(3,1fr); }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .contact { grid-template-columns:1fr; }
}
@media (max-width:560px){
  .brand-wrap p { display:none; }
  .nav { justify-content:flex-start; top:77px; }
  main { width:min(94%,1180px); }
  .hero { padding:26px 20px; }
  .hero h2 { font-size:29px; }
  .hero p { font-size:16px; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .product-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .product-card { padding:11px; }
  .product-image { height:120px; font-size:48px; }
  .product-card h4 { font-size:15px; }
  .product-card p { font-size:12px; }
  .product-bottom { flex-direction:column; align-items:stretch; }
  .add-btn { width:100%; }
  .offer-strip { flex-direction:column; align-items:flex-start; }
}
.checkout-form {
  margin-top: 20px;
  display: grid;
  gap: 10px;
}

.checkout-form h3 {
  margin: 0 0 5px;
}

.checkout-form input,
.checkout-form textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 15px;
  box-sizing: border-box;
  font-family: inherit;
}

.checkout-form textarea {
  min-height: 80px;
  resize: vertical;
}

.checkout-btn {
  background: #0c8f45;
  color: white;
  border: none;
  padding: 12px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  font-family: inherit;
}

.checkout-btn:hover {
  background: #087538;
}

#orderMessage {
  font-size: 14px;
  font-weight: bold;
  margin: 5px 0 0;
}
.admin-login {
  max-width: 380px;
  margin: 80px auto;
  padding: 30px;
  background: white;
  border: 1px solid #ddd;
  border-radius: 16px;
  text-align: center;
}

.admin-login input {
  width: 100%;
  padding: 12px;
  margin: 8px 0;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-sizing: border-box;
}

.admin-login button {
  width: 100%;
  padding: 12px;
  background: #0c8f45;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
}
/* New Bazar — Admin Dashboard */
.admin-dashboard {
  width: min(1100px, 92%);
  margin: 32px auto 60px;
  line-height: 1.8;
}

.admin-dashboard .dashboard-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 26px 30px;
  margin-bottom: 26px;
  background: linear-gradient(135deg, #0f7136, #159447);
  color: white;
  border-radius: 22px;
  box-shadow: var(--shadow);
}

.admin-dashboard .dashboard-header h1 {
  margin: 0;
  font-size: clamp(24px, 4vw, 32px);
  direction: ltr;
  text-align: right;
}

.admin-dashboard .dashboard-header p {
  margin: 4px 0 0;
  color: #e0f3e7;
}

.admin-dashboard button,
.admin-dashboard input,
.admin-dashboard select {
  font: inherit;
}

.admin-dashboard button {
  cursor: pointer;
  transition: background-color .2s;
}

.admin-dashboard #logoutBtn {
  padding: 10px 22px;
  background: white;
  color: var(--primary-dark);
  border: none;
  border-radius: 12px;
  font-weight: bold;
  flex-shrink: 0;
}

.admin-dashboard #logoutBtn:hover {
  background: #eaf8ef;
}

.admin-dashboard > section {
  padding: 28px;
  margin-bottom: 26px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .04);
}

.admin-dashboard h2 {
  margin: 0 0 20px;
  font-size: 22px;
}

.admin-dashboard .admin-product-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.admin-dashboard .admin-product-form h2,
.admin-dashboard #productImage,
.admin-dashboard #addProductBtn,
.admin-dashboard #adminMessage {
  grid-column: 1 / -1;
}

.admin-dashboard .admin-product-form h2 {
  margin-bottom: 4px;
}

.admin-dashboard .admin-product-form input,
.admin-dashboard .admin-product-form select {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 12px 16px;
  background: #f9fafb;
  color: var(--text);
  border: 1px solid #d1d5db;
  border-radius: 12px;
}

.admin-dashboard input::placeholder {
  color: #626b78;
  opacity: 1;
}

.admin-dashboard #productImage {
  direction: ltr;
  text-align: right;
}

.admin-dashboard input:focus,
.admin-dashboard select:focus {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
  background: white;
}

.admin-dashboard button:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.admin-dashboard #addProductBtn {
  min-height: 52px;
  padding: 12px 20px;
  background: var(--primary-dark);
  color: white;
  border: none;
  border-radius: 12px;
  font-weight: bold;
}

.admin-dashboard #addProductBtn:hover {
  background: #095b2a;
}

.admin-dashboard #adminMessage {
  margin: 0;
  font-size: 15px;
  font-weight: bold;
}

.admin-dashboard #adminMessage:empty {
  display: none;
}

.admin-dashboard #adminProductList {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.admin-dashboard #adminProductList > p {
  grid-column: 1 / -1;
  margin: 0;
  padding: 32px 16px;
  color: var(--muted);
  background: #f9fafb;
  border: 1px dashed #d1d5db;
  border-radius: 14px;
  text-align: center;
}

.admin-dashboard .admin-product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 14px;
  background: white;
  border: 1px solid var(--border);
  border-radius: 16px;
}

.admin-dashboard .admin-product-image {
  display: block;
  width: 100%;
  height: 180px;
  padding: 12px;
  object-fit: contain;
  background: #f7f8fa;
  border-radius: 12px;
}

.admin-dashboard .admin-product-card > div {
  flex: 1;
  padding: 14px 0;
}

.admin-dashboard .admin-product-card h3 {
  margin: 0 0 6px;
  font-size: 18px;
  overflow-wrap: anywhere;
}

.admin-dashboard .admin-product-card p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.admin-dashboard .admin-product-card strong {
  display: inline-block;
  color: var(--primary-dark);
  direction: ltr;
  font-size: 18px;
}

.admin-dashboard .delete-product {
  width: 100%;
  padding: 10px 16px;
  background: #fff1f2;
  color: #b42336;
  border: 1px solid #fecdd3;
  border-radius: 10px;
  font-weight: bold;
}

.admin-dashboard .delete-product:hover {
  background: #ffe4e6;
}

@media (max-width: 850px) {
  .admin-dashboard #adminProductList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .admin-dashboard {
    width: 94%;
    margin-top: 16px;
  }

  .admin-dashboard .dashboard-header {
    padding: 20px 16px;
    gap: 12px;
  }

  .admin-dashboard #logoutBtn {
    padding: 8px 16px;
  }

  .admin-dashboard > section {
    padding: 20px 16px;
  }

  .admin-dashboard .admin-product-form,
  .admin-dashboard #adminProductList {
    grid-template-columns: 1fr;
  }

  .admin-dashboard h2 {
    font-size: 20px;
  }
}
.admin-dashboard .edit-product {
  width: 100%;
  padding: 10px 16px;
  margin-bottom: 8px;
  background: #eaf8ef;
  color: var(--primary-dark);
  border: 1px solid #b8dfc5;
  border-radius: 10px;
  font-weight: bold;
}

.admin-dashboard .edit-product:hover {
  background: #d5efdf;
}

.admin-dashboard #cancelEditBtn {
  grid-column: 1 / -1;
  padding: 12px 20px;
  background: #f3f4f6;
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.admin-dashboard #cancelEditBtn:hover {
  background: #e5e7eb;
}

.admin-dashboard #cancelEditBtn[hidden] {
  display: none;
}
.admin-dashboard .backup-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
}

.admin-dashboard .backup-tools button {
  padding: 12px 20px;
  background: white;
  color: var(--primary-dark);
  border: 1px solid #b8dfc5;
  border-radius: 12px;
  font-weight: bold;
}

.admin-dashboard .backup-tools button:hover {
  background: #eaf8ef;
}

@media (max-width: 560px) {
  .admin-dashboard .backup-tools button {
    width: 100%;
  }
}
.admin-dashboard .admin-search-tools {
  margin-bottom: 20px;
}

.admin-dashboard .admin-search-tools label {
  display: block;
  margin-bottom: 8px;
  font-weight: bold;
}

.admin-dashboard #adminSearch {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  background: #f9fafb;
  font: inherit;
}

.admin-dashboard .admin-search-tools p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.admin-dashboard .admin-product-card[hidden] {
  display: none;
}
.admin-dashboard .admin-image-preview {
  grid-column: 1 / -1;
  padding: 18px;
  background: #f9fafb;
  border: 1px dashed #cbd5d1;
  border-radius: 14px;
  text-align: center;
}

.admin-dashboard .admin-image-preview p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.admin-dashboard .admin-image-preview img {
  display: block;
  width: 100%;
  max-width: 300px;
  height: 200px;
  margin: 14px auto 0;
  object-fit: contain;
  border-radius: 10px;
}
.admin-dashboard .choose-image-btn {
  grid-column: 1 / -1;
  padding: 12px 20px;
  background: #eaf8ef;
  color: var(--primary-dark);
  border: 1px solid #b8dfc5;
  border-radius: 12px;
  font-weight: bold;
}

.admin-dashboard .choose-image-btn:hover {
  background: #d5efdf;
}

.admin-dashboard button:disabled {
  opacity: .6;
  cursor: wait;
}

.admin-dashboard .image-upload-message {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.admin-dashboard .image-upload-message:empty {
  display: none;
}
/* د اصلي پاڼې د محصولاتو عکسونه */
.product-grid .product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
}

.product-grid .product-image-wrap {
  height: 210px;
  padding: 12px;
  background: #f9fafb;
}

.product-grid .product-image-wrap .product-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 10px;
  background: transparent;
}

.product-grid .product-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 16px;
}

.product-grid .product-info h3 {
  overflow-wrap: anywhere;
}

.product-grid .product-bottom {
  margin-top: auto;
  padding-top: 14px;
  gap: 10px;
}

.product-grid .add-btn {
  width: auto;
  height: auto;
  min-height: 44px;
  padding: 10px 16px;
  font-size: 16px;
}

/* الكټګورۍ */
.category-card {
  min-width: 0;
  padding: 16px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: white;
  color: var(--text);
  font: inherit;
  cursor: pointer;
}

.category-card h3 {
  margin: 8px 0 0;
  font-size: 16px;
}

.category-card:hover,
.category-card.active {
  background: #eaf8ef;
  border-color: var(--primary);
}

/* په تنګو سکرینونو کې سرلیک او ترتیب */
@media (max-width: 900px) {
  .topbar {
    position: static;
    padding: 12px 4%;
    gap: 12px;
    flex-wrap: wrap;
  }

  .brand-wrap {
    min-width: 0;
    gap: 10px;
  }

  .logo-img {
    width: 54px;
    height: 54px;
  }

  .brand-wrap h1 {
    margin: 0;
    font-size: clamp(18px, 4vw, 26px);
  }

  .brand-wrap p {
    display: none;
  }

  .cart-btn {
    padding: 10px 12px;
    min-height: 44px;
  }

  .nav {
    position: static;
    gap: 18px;
    padding: 12px;
  }

  .category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
}

@media (max-width: 560px) {
  .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero {
    margin-top: 18px;
    padding: 24px 18px;
  }

  .hero h2 {
    font-size: 26px;
    line-height: 1.6;
  }

  .product-grid .product-image-wrap {
    height: 160px;
    padding: 8px;
  }

  .product-grid .product-info {
    padding: 12px;
  }

  .product-grid .product-info h3 {
    font-size: 16px;
  }

  .product-grid .product-bottom {
    flex-direction: column;
    align-items: stretch;
  }

  .product-grid .add-btn {
    width: 100%;
  }
}

@media (max-width: 360px) {
  .product-grid {
    grid-template-columns: 1fr;
  }
}
.checkout-help {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
}

.checkout-btn {
  white-space: normal;
  line-height: 1.6;
}
.cart-panel .checkout-help {
  margin: 0;
  padding: 12px 14px;
  background: #eef8f1;
  color: #245638;
  border: 1px solid #cce5d5;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.9;
  text-align: center;
}

.cart-panel .checkout-help strong {
  color: #0f7136;
}
.cart-panel .clear-cart-btn {
  align-self: flex-start;
  margin: 12px 18px 0;
  padding: 9px 14px;
  background: #fff1f2;
  color: #b42336;
  border: 1px solid #fecdd3;
  border-radius: 10px;
  font: inherit;
  cursor: pointer;
}

.cart-panel .clear-cart-btn:hover {
  background: #ffe4e6;
}

.cart-panel .clear-cart-btn:focus-visible {
  outline: 2px solid #b42336;
  outline-offset: 3px;
}
/* Online integration: preserve the existing visual design. */
.admin-dashboard[hidden] { display: none; }
.admin-dashboard button:disabled, .admin-login button:disabled { opacity: .6; cursor: wait; }
.admin-dashboard .backup-tools { flex-wrap: wrap; }
.category-card.active { background: #eaf8ef; border-color: var(--primary); }
.cart-panel { overflow-y: auto; overscroll-behavior: contain; }
.cart-panel .cart-header, .cart-panel .cart-footer { flex-shrink: 0; }
.cart-panel .cart-items { flex: 1 0 auto; }
.cart-item button { min-width: 44px; min-height: 44px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; }
.contact-card a { overflow-wrap: anywhere; }

/* Storefront language selection */
.header-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.language-picker { display:flex; align-items:center; gap:8px; padding:8px 12px; background:#f0f8f3; border:1px solid #cce5d5; border-radius:12px; }
.language-picker select { background:transparent; border:0; color:#176b36; font:inherit; cursor:pointer; min-height:32px; max-width:110px; }
.language-picker select:focus-visible { outline:2px solid #159447; outline-offset:3px; }
html[dir="ltr"] .product-info, html[dir="ltr"] .hero-text, html[dir="ltr"] .checkout-form { text-align:left; }
@media(max-width:560px) { .header-actions { gap:8px; } .language-picker { padding:5px 8px; } }

/* Compact storefront cards, with full product images and readable controls. */
#productGrid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
#productGrid .product-card { border-radius: 14px; }
#productGrid .product-image-wrap { height: 150px; padding: 10px; }
#productGrid .product-info { padding: 12px; }
#productGrid .product-info h3 { font-size: 16px; line-height: 1.5; margin: 0 0 6px; }
#productGrid .product-info p { font-size: 13px; line-height: 1.6; min-height: 0; margin: 0 0 10px; overflow-wrap: anywhere; }
#productGrid .product-bottom { padding-top: 8px; gap: 8px; flex-direction: column; align-items: stretch; }
#productGrid .product-bottom strong { font-size: 16px; }
#productGrid .add-btn { width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; font-size: 14px; white-space: normal; }
@media (min-width: 1500px) { #productGrid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 1100px) { #productGrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 850px) { #productGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 620px) {
  #productGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #productGrid .product-image-wrap { height: 125px; padding: 8px; }
  #productGrid .product-info { padding: 10px; }
  #productGrid .product-info h3 { font-size: 15px; }
}
@media (max-width: 320px) { #productGrid { grid-template-columns: minmax(0, 1fr); } }

/* Category shelves inspired by the supplied walkthrough. */
#productGrid.grouped-products { display:flex; flex-direction:column; gap:28px; }
.product-shelf { min-width:0; padding:16px; background:white; border:1px solid var(--border); border-radius:20px; }
.shelf-banner { display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:126px; padding:22px 28px; border-radius:14px; color:white; overflow:hidden; background:linear-gradient(110deg,#0c7138,#20a55a); }
.shelf-banner h3 { font-size:clamp(22px,3vw,32px); margin:6px 0 0; line-height:1.5; }
.shelf-brand { font-size:12px; font-weight:700; letter-spacing:1px; opacity:.85; }
.shelf-art { display:grid; place-items:center; width:100px; height:90px; font-size:62px; background:rgba(255,255,255,.15); border-radius:28px; flex-shrink:0; transform:rotate(-7deg); }
.theme-home { background:linear-gradient(110deg,#9a4d22,#d28743); }
.theme-appliances { background:linear-gradient(110deg,#155b89,#288eab); }
.theme-toys { background:linear-gradient(110deg,#694599,#a570c6); }
.theme-clothes { background:linear-gradient(110deg,#a9475c,#db827d); }
.shelf-toolbar { display:flex; justify-content:space-between; align-items:center; padding:14px 0 12px; color:var(--muted); font-size:13px; }
.shelf-controls { display:flex; gap:8px; }
.shelf-controls button { width:44px; height:44px; border:1px solid #cce5d5; border-radius:50%; background:#f0f8f3; color:#0f7136; font-size:22px; cursor:pointer; }
.shelf-controls button:hover { background:#dcefe3; }
.shelf-controls button:focus-visible, .shelf-track:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.shelf-track { display:flex; align-items:stretch; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding:2px 2px 12px; scrollbar-width:thin; scrollbar-color:#a6cbb2 #f3f7f4; }
#productGrid .shelf-track .product-card { flex:0 0 210px; scroll-snap-align:start; }
#productGrid .shelf-track .product-image-wrap { height:145px; }
@media(max-width:620px) {
  #productGrid.grouped-products { gap:18px; }
  .product-shelf { padding:12px; border-radius:16px; }
  .shelf-banner { min-height:105px; padding:16px; }
  .shelf-art { width:70px; height:70px; font-size:44px; border-radius:20px; }
  #productGrid .shelf-track .product-card { flex-basis:165px; }
  #productGrid .shelf-track .product-image-wrap { height:120px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .product-card { transition:none; } .product-card:hover { transform:none; } }

/* Right-hand category menu. */
.category-menu-wrap { position:relative; }
.category-menu-btn { display:flex; gap:8px; align-items:center; min-height:44px; padding:10px 14px; border:1px solid #cce5d5; border-radius:12px; background:#eff8f2; color:#0f7136; font-weight:700; cursor:pointer; }
.category-menu-btn > span:first-child { font-size:22px; }
.category-menu { position:absolute; top:calc(100% + 12px); right:0; width:310px; max-width:calc(100vw - 24px); max-height:70vh; overflow-y:auto; background:white; color:var(--text); border:1px solid var(--border); border-radius:14px; box-shadow:0 14px 40px rgba(0,0,0,.18); z-index:60; }
.category-menu[hidden] { display:none; }
.category-menu-heading { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border-bottom:1px solid var(--border); }
.category-menu-heading button { width:44px; height:44px; background:transparent; border:0; border-radius:8px; cursor:pointer; }
.category-menu-list { display:flex; flex-direction:column; padding:6px; }
.category-menu-list button { display:flex; align-items:center; gap:12px; width:100%; padding:14px 12px; min-height:50px; background:white; border:0; border-radius:8px; color:inherit; text-align:start; cursor:pointer; }
.category-menu-list button > span:nth-child(2) { flex:1; }
.category-menu-list button:hover, .category-menu-list button.selected { background:#eaf8ef; color:#0f7136; }
.category-menu button:focus-visible, .category-menu-btn:focus-visible { outline:2px solid var(--primary); outline-offset:-2px; }
#products { scroll-margin-top:170px; }
html[dir="ltr"] .category-menu-wrap { direction:ltr; }
@media(max-width:700px) {
  .topbar { flex-wrap:wrap; gap:12px; }
  .brand-wrap { flex-wrap:wrap; }
  .category-menu-btn { padding:8px 10px; }
  .category-menu { position:fixed; top:145px; right:12px; max-height:calc(100dvh - 165px); width:min(330px,calc(100vw - 24px)); }
  .brand-wrap h1 { font-size:24px; }
  .brand-wrap .logo-img { width:55px; height:55px; }
}

/* Main categories and adjacent subcategory folders. */
.category-menu { width:570px; }
.category-menu-columns { display:grid; grid-template-columns:1fr 1fr; }
.category-menu-list { border-inline-end:1px solid var(--border); }
.category-submenu { padding:16px 10px; min-width:0; }
.category-submenu h4 { color:var(--primary-dark); font-size:16px; margin:4px 10px 14px; }
.category-submenu button { display:block; width:100%; min-height:44px; border:0; border-radius:8px; background:transparent; text-align:start; padding:12px 10px; color:#58636a; cursor:pointer; }
.category-submenu button:hover { background:#eaf8ef; color:#0f7136; }
@media(max-width:700px) {
  .category-menu { width:calc(100vw - 24px); }
  .category-menu-list button { padding:12px 8px; gap:6px; font-size:14px; }
  .category-submenu { padding:12px 6px; }
  .category-submenu h4 { font-size:14px; }
  .category-submenu button { padding:10px 8px; font-size:14px; }
}

/* Hovering a main heading changes the adjacent panel like the reference. */
.category-menu { border-radius:6px; width:540px; }
.category-menu-columns { min-height:360px; }
.category-menu-list { padding:0; }
.category-menu-list button { border-radius:0; min-height:48px; padding:12px 14px; }
.category-menu-list button:hover, .category-menu-list button.selected { background:#edf1ee; }
.category-submenu { background:#fff; padding:12px 6px; }
.category-submenu h4 { color:#159447; padding-bottom:10px; border-bottom:1px solid #eef1ef; }
.category-submenu button { display:flex; justify-content:space-between; align-items:center; border-radius:0; }
.category-submenu button::after { content:'←'; color:#89918c; }
html[dir="ltr"] .category-submenu button::after { content:'→'; }
@media(max-width:700px) { .category-menu { width:calc(100vw - 24px); } .category-menu-columns { min-height:300px; } }

/* Compact header: menu on the right, search in the middle, logo on the left. */
.topbar { display:grid; grid-template-columns:auto minmax(200px,1fr) auto auto; gap:20px; padding:12px 4%; min-height:82px; direction:rtl; }
.topbar > .category-menu-wrap { grid-column:1; grid-row:1; }
.topbar > .header-search { grid-column:2; grid-row:1; }
.topbar > .header-actions { grid-column:3; grid-row:1; flex-wrap:nowrap; gap:10px; }
.topbar > .brand-wrap { grid-column:4; grid-row:1; flex-wrap:nowrap; gap:10px; }
.topbar .logo-img { width:54px; height:54px; border-radius:10px; }
.topbar .brand-wrap h1 { font-size:20px; margin:0; white-space:nowrap; }
.topbar .brand-wrap p { display:none; }
.header-search { position:relative; width:100%; max-width:620px; justify-self:center; direction:rtl; }
.header-search input { display:block; width:100%; min-width:0; height:46px; padding:10px 14px 10px 46px; border:1px solid #cbded1; background:white; border-radius:8px; font:inherit; font-size:15px; outline:none; direction:inherit; }
.header-search input:focus { border-color:var(--primary); box-shadow:0 0 0 3px #15944720; }
.header-search-icon { position:absolute; left:14px; top:12px; color:#0f7136; pointer-events:none; }
html[dir="ltr"] .header-search { direction:ltr; }
html[dir="ltr"] .header-search input { padding:10px 46px 10px 14px; }
html[dir="ltr"] .header-search-icon { left:auto; right:14px; }
.topbar .language-picker { padding:5px 8px; }
.topbar .category-menu { top:calc(100% + 18px); }
.nav { top:82px; }
@media(max-width:1100px) { .topbar { gap:12px; } .topbar .brand-wrap h1 { display:none; } }
@media(max-width:700px) {
  .topbar { grid-template-columns:auto 1fr auto; gap:10px; padding:10px 3%; }
  .topbar > .category-menu-wrap { grid-column:1; }
  .topbar > .header-actions { grid-column:2; justify-self:center; }
  .topbar > .brand-wrap { grid-column:3; }
  .topbar > .header-search { grid-column:1 / -1; grid-row:2; max-width:none; }
  .topbar .logo-img { width:44px; height:44px; }
  .header-search input { height:44px; font-size:14px; }
  .topbar .category-menu { position:fixed; top:124px; right:12px; max-height:calc(100dvh - 145px); }
  .nav { top:124px; }
}

/* Admin and customer entry points beside the cart. */
.header-account-link { display:flex; align-items:center; gap:5px; min-height:44px; padding:5px 6px; color:#0f7136; font-size:14px; font-weight:700; white-space:nowrap; }
.header-account-link:hover { color:#159447; text-decoration:underline; }
.header-account-link:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.topbar { grid-template-columns:auto minmax(160px,1fr) auto auto; gap:14px; }
.customer-account { max-width:460px; margin:48px auto; padding:28px; background:white; border:1px solid var(--border); border-radius:20px; box-shadow:var(--shadow); }
.account-brand { display:flex; align-items:center; gap:12px; color:var(--primary-dark); }
.account-brand img { border-radius:12px; }
.customer-account h1 { font-size:25px; }
.account-tabs { display:flex; gap:8px; margin:20px 0; }
.account-tabs button { flex:1; min-height:44px; border:1px solid #cce5d5; background:white; color:#0f7136; border-radius:10px; cursor:pointer; }
.account-tabs button[aria-pressed="true"] { background:#eaf8ef; border-color:#159447; font-weight:700; }
.customer-account form { display:grid; gap:16px; }
.customer-account label { display:grid; gap:8px; font-size:14px; }
.customer-account input { width:100%; height:46px; border:1px solid #cbd5d1; border-radius:10px; padding:10px 12px; font:inherit; }
.customer-account input[type="email"], .customer-account input[type="password"] { direction:ltr; }
.customer-account input:focus { outline:2px solid #159447; outline-offset:2px; }
.account-hint { font-size:13px; color:var(--muted); margin:0; }
.account-back { display:block; margin-top:20px; color:#0f7136; }
#accountMessage { line-height:1.8; overflow-wrap:anywhere; }
.customer-account [hidden] { display:none; }
.customer-account button:disabled { opacity:.6; cursor:wait; }
@media(max-width:950px) {
  .topbar { grid-template-columns:auto 1fr auto; gap:10px; padding:10px 3%; }
  .topbar > .category-menu-wrap { grid-column:1; grid-row:1; }
  .topbar > .header-actions { grid-column:2; grid-row:1; justify-self:center; flex-wrap:wrap; gap:6px; }
  .topbar > .brand-wrap { grid-column:3; grid-row:1; }
  .topbar > .header-search { grid-column:1 / -1; grid-row:2; max-width:none; }
  .topbar .category-menu { position:fixed; top:145px; right:12px; max-height:calc(100dvh - 165px); }
  .nav { position:static; }
  .header-account-link { font-size:12px; }
}
@media(max-width:480px) {
  .topbar > .header-actions { justify-content:center; }
  .topbar .language-picker { padding:3px 5px; }
  .topbar .cart-btn { padding:8px; }
  .header-account-link { padding:3px; }
  .customer-account { width:94%; padding:22px; margin:24px auto; }
}

/* Registration form with one shared sign-in entry point. */
.account-page { background:#f3f4f6; }
.account-page .customer-account { max-width:540px; margin:150px auto 40px; border-radius:12px; padding:28px; position:relative; box-shadow:0 3px 8px #00000012; }
.account-page .account-brand { position:absolute; top:-112px; left:50%; transform:translateX(-50%); flex-direction:column; gap:4px; white-space:nowrap; font-size:12px; }
.account-page .account-brand img { width:68px; height:68px; object-fit:contain; }
.account-page #accountTabs { display:none; }
.account-page .customer-account h1 { font-size:20px; margin:0 0 22px; color:var(--primary-dark); }
.account-page .customer-account form { gap:22px; }
.account-page .customer-account input { height:54px; border:1px solid #d9e0e7; background:white; box-shadow:0 1px 3px #00000008; }
.account-page .customer-account input:focus { outline:2px solid #159447; box-shadow:0 0 0 4px #15944720; }
.password-field { display:block; position:relative; }
.password-field input { padding-inline-end:50px; }
.password-toggle { position:absolute; inset-inline-end:5px; top:5px; width:44px; height:44px; border:0; background:transparent; color:#718096; cursor:pointer; font-size:23px; }
.account-switch { background:transparent; border:0; color:#159447; font:inherit; cursor:pointer; padding:10px 0; text-align:start; }
.account-page #accountSubmit { justify-self:start; min-width:110px; min-height:48px; border-radius:10px; }
.account-page .customer-account [hidden] { display:none; }
@media(max-width:600px) { .account-page .customer-account { margin:132px auto 24px; padding:22px; } }

/* Header proportions and navigation from the supplied reference. */
.site-name-strip { position:sticky; top:0; z-index:25; height:38px; display:flex; align-items:center; justify-content:center; background:#cedde8; color:#17202a; font:24px Georgia,serif; }
.topbar { top:38px; min-height:80px; height:80px; padding:10px 3%; background:#084779; border:0; color:white; grid-template-columns:140px minmax(180px,1fr) auto 70px; gap:22px; backdrop-filter:none; }
.topbar .brand-wrap h1 { display:none; }
.topbar .logo-img { width:58px; height:58px; border-radius:8px; }
.topbar .category-menu-btn { background:transparent; color:white; border:0; font-size:18px; padding:8px; }
.topbar .category-menu-btn > span:first-child { font-size:30px; }
.topbar .header-search { max-width:690px; }
.topbar .header-search input { height:54px; font-size:17px; border:0; border-radius:7px; padding-inline:14px 50px; }
.topbar .header-search-icon { top:15px; color:#084779; }
.topbar .header-account-link { color:#d7e5f1; font-size:16px; }
.topbar .header-actions { gap:12px; }
.topbar .cart-btn { background:transparent; color:white; font-size:22px; padding:8px; }
.topbar #cartLabel { display:none; }
.topbar #cartCount { font-size:12px; background:white; color:#084779; padding:2px 5px; }
.topbar .language-picker { background:#ffffff12; color:white; border-color:#ffffff38; padding:3px 6px; }
.topbar .language-picker select { color:white; font-size:13px; max-width:80px; }
.topbar .language-picker option { color:#17202a; background:white; }
.topbar .header-account-link:focus-visible, .topbar .category-menu-btn:focus-visible { outline-color:white; }
.nav { top:118px; justify-content:flex-start; gap:36px; min-height:68px; padding:12px 4%; align-items:center; }
.nav a { display:flex; gap:8px; align-items:center; color:#084779; font-size:17px; font-weight:400; padding:10px 12px; }
.nav .home-nav { background:#d94491; color:white; border-radius:7px; }
.nav a:hover { color:#159447; }
.nav .home-nav:hover { color:white; background:#c62e7e; }
.shop-info-section { border-top:1px solid var(--border); }
.shop-info-section h3 { font-size:24px; margin:0 0 12px; }
.shop-info-section p { color:var(--muted); line-height:1.9; }
#products, #about, #partner, #contact, #home { scroll-margin-top:205px; }
@media(max-width:1200px) { .topbar { gap:12px; grid-template-columns:100px minmax(160px,1fr) auto 58px; } .topbar .header-account-link { font-size:14px; } }
@media(max-width:950px) {
  .site-name-strip { height:32px; font-size:20px; }
  .topbar { top:32px; height:auto; min-height:112px; grid-template-columns:auto 1fr auto; gap:8px; padding:8px 3%; }
  .topbar > .header-actions { flex-wrap:wrap; gap:6px; }
  .topbar .header-search input { height:44px; font-size:14px; }
  .topbar .header-search-icon { top:11px; }
  .topbar .logo-img { width:46px; height:46px; }
  .topbar .category-menu-btn { font-size:15px; }
  .topbar .header-account-link { font-size:12px; }
  .topbar .category-menu { top:153px; max-height:calc(100dvh - 173px); }
  .nav { position:static; min-height:55px; gap:8px; padding:8px 3%; }
  .nav a { font-size:14px; padding:8px; }
}

/* Dedicated About page and director message. */
.about-page { width:min(1180px,92%); margin:24px auto 50px; }
.about-page-title { text-align:center; font-size:28px; padding:18px 0 24px; margin:0 0 20px; border-bottom:1px dotted #9ab7c8; }
.about-content { width:min(100%,1000px); margin:0 auto 18px; background:#fff; border:1px solid #d8e1e8; padding:48px; }
.about-content p { font-size:16px; line-height:2.1; margin:0 0 22px; }
.about-content h3 { font-size:22px; margin:32px 0 24px; }
.director-brand { display:flex; flex-direction:column; align-items:center; gap:12px; padding:12px; color:#084779; font-size:20px; font-weight:700; }
.director-brand img { border-radius:18px; object-fit:contain; }
.director-signature { margin-top:30px; }
.director-signature strong { font-size:20px; }
.director-signature p { margin:8px 0; }
.nav .current-nav { background:#496fa4; color:white; border-radius:7px; }
@media(max-width:620px) { .about-content { padding:24px 20px; } .about-content p { font-size:15px; } }

/* One shared frame keeps the header and content aligned at every zoom level. */
:root { --site-width:1400px; }
body:has(.site-shell) { background:#edf5f3; }
.site-shell { width:min(var(--site-width),94%); margin:0 auto; min-height:100vh; background:var(--bg); box-shadow:0 0 14px #183c2b12; }
.site-shell .site-name-strip { width:100%; }
.site-shell .topbar { width:100%; margin:0; padding-inline:24px; grid-template-columns:110px minmax(150px,1fr) auto 60px; gap:16px; }
.site-shell .nav { width:100%; margin:0; padding-inline:30px; background:white; }
.site-shell > main, .site-shell > .about-page { width:calc(100% - 64px); max-width:none; margin-inline:auto; }
.site-shell > footer { padding-inline:32px; }
.site-shell .header-search { max-width:none; }
.site-shell .topbar .header-account-link { font-size:14px; }
.site-shell .topbar .header-actions { gap:8px; }
.site-shell .topbar .language-picker select { max-width:72px; }
@media(max-width:1100px) {
  .site-shell { width:96%; }
  .site-shell .topbar { grid-template-columns:90px minmax(140px,1fr) auto 50px; gap:10px; padding-inline:16px; }
  .site-shell .topbar .header-account-link { font-size:12px; }
  .site-shell > main, .site-shell > .about-page { width:calc(100% - 40px); }
}
@media(max-width:950px) {
  .site-shell .topbar { grid-template-columns:auto 1fr auto; height:auto; }
  .site-shell .topbar > .header-actions { grid-column:2; }
  .site-shell .topbar > .brand-wrap { grid-column:3; }
  .site-shell .topbar > .header-search { grid-column:1 / -1; grid-row:2; }
}
@media(max-width:620px) {
  .site-shell { width:100%; box-shadow:none; }
  .site-shell .topbar { padding-inline:10px; }
  .site-shell .nav { padding-inline:10px; }
  .site-shell > main, .site-shell > .about-page { width:94%; }
  .site-shell > footer { padding-inline:14px; }
}

.partner-steps { line-height:2; padding-inline-start:24px; }
.partner-steps li { margin-bottom:12px; }
.partner-note { padding:16px; background:#f0f8f3; border:1px solid #cce5d5; border-radius:12px; }
#partnerMember { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
#partnerMember[hidden] { display:none; }
#referralLink { width:100%; min-height:48px; padding:12px; border:1px solid #cbd5d1; border-radius:10px; font:inherit; }
#referralLabel { width:100%; font-weight:700; }
#partnerStatus { overflow-wrap:anywhere; }

/* Contact page with three translucent cards and circular icons. */
.site-shell > .contact-page { width:100%; margin:0; }
.contact-scene { position:relative; isolation:isolate; overflow:hidden; padding:90px 36px 100px; min-height:630px; background:radial-gradient(ellipse at 20% 35%,#b5b5bb 0%,transparent 55%),radial-gradient(ellipse at 70% 20%,#bd8f70 0%,transparent 60%),linear-gradient(130deg,#7a8995,#594457 75%,#393244); }
.contact-backdrop { position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.18; }
.contact-backdrop span { position:absolute; display:grid; place-items:center; width:160px; height:160px; border:4px solid white; color:white; border-radius:50%; font-size:100px; transform:rotate(-14deg); }
.contact-backdrop span:nth-child(1) { right:7%; bottom:20px; }
.contact-backdrop span:nth-child(2) { right:22%; top:35px; }
.contact-backdrop span:nth-child(3) { right:4%; top:40px; }
.contact-intro { text-align:center; color:white; position:relative; }
.contact-intro h2 { font-size:30px; margin:0 0 22px; color:#ffebcf; }
.contact-intro p { font-size:18px; line-height:1.9; margin:0 auto; max-width:760px; }
.contact-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:78px; }
.contact-method { position:relative; min-height:280px; padding:74px 20px 30px; background:#ffffffce; border:1px solid #ffffffc9; border-radius:20px; text-align:center; color:#26313b; box-shadow:0 10px 25px #00000008; }
.contact-symbol { width:88px; height:88px; position:absolute; top:-44px; left:50%; transform:translateX(-50%); display:grid; place-items:center; border-radius:50%; box-shadow:0 8px 18px #00000014; }
.contact-symbol svg { width:40px; height:40px; fill:white; }
.symbol-phone { background:#178650; }.symbol-address { background:#1478fb; }.symbol-email { background:#ffc400; }
.contact-method h3 { font-size:23px; margin:12px 0 18px; }
.contact-method p { font-size:16px; color:#5b6873; margin:8px 0; line-height:1.7; }
.contact-numbers { display:flex; flex-direction:column; gap:9px; font-size:19px; }
.contact-email { display:inline-block; font-size:17px; font-weight:700; overflow-wrap:anywhere; max-width:100%; margin-top:8px; }
.contact-method a:hover { color:#084779; text-decoration:underline; }
.contact-method a:focus-visible { outline:2px solid #084779; outline-offset:4px; }
.nav a.current-nav { background:#ef7955; color:white; }
@media(max-width:850px) { .contact-scene { padding:64px 22px 70px; } .contact-methods { gap:16px; } .contact-method { padding-inline:12px; } .contact-email { font-size:14px; } }
@media(max-width:620px) { .contact-scene { padding:45px 20px 50px; } .contact-methods { grid-template-columns:1fr; gap:68px; margin-top:70px; } .contact-method { min-height:240px; } .contact-intro h2 { font-size:26px; } .contact-intro p { font-size:16px; } .contact-email { font-size:17px; } }

/* Shared total visit badge. */
.visitor-counter { position:fixed; left:0; top:35vh; z-index:12; min-width:118px; padding:10px 14px; border-radius:0 5px 5px 0; background:#084779; color:white; text-align:center; box-shadow:0 3px 10px #00000018; font-size:14px; }
.visitor-counter > span { display:block; margin-bottom:6px; }
.visitor-counter > div { display:flex; justify-content:center; align-items:center; gap:8px; }
.visitor-counter strong { font-size:19px; font-weight:700; }
@media(max-width:1500px) { .visitor-counter { top:auto; bottom:16px; min-width:100px; padding:8px 10px; font-size:12px; } .visitor-counter strong { font-size:16px; } }

/* Home-page-only left side tools matching the supplied placement. */
.visitor-counter { top:205px; bottom:auto; left:0; border-radius:0; min-width:135px; padding:10px 12px; }
.currency-side-tool { position:fixed; top:355px; left:0; z-index:13; }
.currency-side-button { min-height:44px; padding:10px 12px; background:#d9f0dd; border:1px solid #c2dfc7; color:#185c2a; box-shadow:0 2px 6px #0002; cursor:pointer; font-size:13px; }
.currency-panel { position:absolute; top:calc(100% + 8px); left:8px; width:300px; max-width:calc(100vw - 16px); padding:18px; background:white; border:1px solid #d0dfd5; border-radius:12px; box-shadow:0 8px 30px #0003; }
.currency-panel[hidden] { display:none; }
.currency-panel label { display:grid; gap:5px; margin-top:12px; font-size:13px; }
.currency-panel input,.currency-panel select { width:100%; min-height:40px; padding:8px; border:1px solid #ccd6cf; border-radius:7px; font:inherit; }
.currency-selects { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.currency-panel small,.currency-panel a { display:block; margin-top:10px; color:#68766e; font-size:11px; }
#currencyResult { line-height:1.7; overflow-wrap:anywhere; }
.floating-whatsapp { position:fixed; bottom:26px; left:36px; z-index:14; width:58px; height:58px; background:#229c50; border:3px solid #77c86b; color:white; border-radius:50%; display:grid; place-items:center; box-shadow:0 3px 10px #0002; }
.floating-whatsapp svg { width:34px; height:34px; }
.floating-whatsapp:focus-visible,.currency-side-button:focus-visible { outline:3px solid #084779; outline-offset:3px; }
@media(max-width:950px) { .visitor-counter { top:210px; font-size:11px; min-width:100px; padding:7px 9px; } .visitor-counter strong { font-size:15px; } .currency-side-tool { top:310px; } .currency-side-button { max-width:145px; font-size:11px; padding:8px; } .floating-whatsapp { left:16px; bottom:20px; width:50px; height:50px; } }

.exchange-page { padding:48px 0; }
.exchange-page > h2 { text-align:center; font-size:30px; color:#168759; margin:20px 0 32px; }
.exchange-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.exchange-card { text-align:center; padding:26px 16px; min-height:230px; border:1px solid #ccd3d5; border-radius:5px; box-shadow:0 2px 5px #0000000c; }
.exchange-flag { display:block; font-size:38px; line-height:1.2; }
.exchange-card h3 { font-size:23px; margin:14px 0 10px; }
.exchange-unit { font-size:12px; color:#566a77; margin:0 0 12px; }
.exchange-value { display:block; color:#168759; font-size:26px; }
.exchange-date { color:#657d8e; font-size:13px; margin:20px 0 0; direction:ltr; }
.exchange-card small { display:block; margin-top:12px; color:#657d8e; }
.exchange-note,.rate-attribution { font-size:13px; color:#617480; line-height:1.8; }
#ratesStatus { color:#9c3434; }
@media(max-width:950px) { .exchange-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:400px) { .exchange-grid { grid-template-columns:1fr; } }

/* Local SVG flags work without country-emoji support. */
.exchange-page { padding:26px 0; }
.exchange-page > h2 { font-size:25px; margin:12px 0 24px; }
.exchange-grid { max-width:1040px; margin-inline:auto; gap:16px; }
.exchange-card { min-height:190px; padding:18px 12px; }
.exchange-card .exchange-flag { display:block; width:54px; height:36px; object-fit:contain; margin:0 auto; border-radius:1px; box-shadow:0 0 0 1px #00000008; }
.exchange-card h3 { font-size:19px; margin:12px 0 8px; }
.exchange-value { font-size:21px; }
.exchange-unit { font-size:11px; margin-bottom:8px; }
.exchange-date { font-size:11px; margin-top:14px; }
.exchange-card small { font-size:10px; margin-top:8px; }
@media(max-width:620px) { .exchange-card { min-height:180px; padding:16px 10px; } .exchange-card h3 { font-size:17px; } .exchange-value { font-size:19px; } }

.category-grid { grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
.category-management { padding:28px; margin:24px 0; border:1px solid var(--border); background:white; border-radius:20px; }
.category-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.category-editor label { display:grid; gap:8px; font-size:14px; }
.category-editor input,.category-editor select { width:100%; min-height:46px; padding:10px; border:1px solid #cbd5d1; border-radius:10px; font:inherit; }
.category-editor button,.category-admin-row button { min-height:44px; padding:9px 16px; border:1px solid #cce5d5; border-radius:9px; background:#edf8f0; color:#0f7136; cursor:pointer; font:inherit; }
.category-admin-group { margin:18px 0; padding:12px; background:#f8faf9; border-radius:12px; }
.category-admin-row { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #e5e7eb; }
.category-admin-row span { flex:1; overflow-wrap:anywhere; }
.admin-dashboard .category-admin-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; }
.admin-dashboard .category-admin-row > span { min-width:0; line-height:1.8; overflow-wrap:break-word; }
.admin-dashboard .category-admin-row > button { width:auto; min-width:76px; max-width:110px; padding:9px 14px; white-space:nowrap; }
.category-admin-row.category-child { padding-inline-start:24px; }
.category-management [hidden] { display:none; }
@media(max-width:620px) { .category-editor { grid-template-columns:1fr; } .category-management { padding:18px; } .category-admin-row { flex-wrap:wrap; } .category-admin-row span { flex-basis:100%; } .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) {
  .admin-dashboard .category-admin-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .admin-dashboard .category-admin-row > span { grid-column:1 / -1; }
  .admin-dashboard .category-admin-row > button { max-width:none; width:100%; }
}

.whatsapp-choice { width:min(440px,92vw); padding:24px; border:0; border-radius:18px; box-shadow:0 20px 80px #0004; color:var(--text); }
.whatsapp-choice::backdrop { background:#0008; }
.whatsapp-choice h3 { margin:0 0 20px; font-size:22px; line-height:1.5; }
.whatsapp-choice > a,.whatsapp-choice > button { display:block; width:100%; padding:12px 16px; margin:10px 0; min-height:46px; border:1px solid #cce5d5; border-radius:10px; background:#edf8f0; color:#0f7136; text-align:center; font:inherit; cursor:pointer; }
.whatsapp-choice > a:hover { background:#d6f0de; }
.whatsapp-choice p { font-size:13px; line-height:1.8; }
.whatsapp-choice [data-close-choice] { background:#f4f5f6; color:#505c65; border-color:#e1e5e8; }
.whatsapp-choice .whatsapp-shop-phone { display:block; text-align:center; font-weight:700; }
.whatsapp-choice textarea { width:100%; min-height:150px; padding:12px; border:1px solid #ccd5cf; border-radius:10px; font:inherit; }
.whatsapp-choice [hidden] { display:none; }

/* Separate listing for a main or subcategory, with all saved matching products. */
.category-products-page { min-height:50vh; }
.category-page-heading { padding:12px 0 24px; margin-bottom:26px; border-bottom:1px solid #d5dde3; }
.category-page-heading #categoryBreadcrumb { color:#73903b; font-weight:700; font-size:14px; margin-bottom:14px; }
.category-page-heading h3 { font-size:28px; color:#084779; margin-bottom:12px; }
.category-page-heading #categoryProductCount { font-size:13px; }
.category-products-page #productGrid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.category-products-page #productGrid .product-image-wrap { height:190px; }
@media(max-width:950px) { .category-products-page #productGrid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; } }
@media(max-width:620px) { .category-products-page #productGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .category-products-page #productGrid .product-image-wrap { height:135px; } .category-page-heading h3 { font-size:23px; } }
@media(max-width:320px) { .category-products-page #productGrid { grid-template-columns:1fr; } }

.product-options { cursor:pointer; }
#productGrid button.product-image-wrap { display:block; border:0; }
.product-name-button { border:0; padding:0; background:transparent; font:inherit; font-weight:inherit; color:inherit; text-align:inherit; }
.product-name-button:hover { color:#159447; }
.product-purchase-dialog { width:min(430px,92vw); border:0; border-radius:18px; padding:24px; color:var(--text); box-shadow:0 20px 60px #0003; }
.product-purchase-dialog::backdrop { background:#0008; }
.product-purchase-dialog > img { width:100%; height:180px; object-fit:contain; }
.product-purchase-dialog h3 { font-size:22px; margin:16px 0 10px; }
.product-purchase-dialog p { color:var(--muted); line-height:1.7; }
.purchase-prompt { margin:18px 0 12px; font-size:14px; }
.product-purchase-dialog a,.product-purchase-dialog button { display:block; width:100%; margin:10px 0; min-height:44px; text-align:center; font:inherit; }
.product-purchase-dialog [data-close-product] { background:#f4f5f6; border:1px solid #dfe3e6; border-radius:10px; cursor:pointer; }
.direct-purchase-page { max-width:1000px!important; padding:36px 0; }
.direct-purchase-page > h2 { color:#084779; text-align:center; }
.direct-purchase-note { max-width:660px; margin:18px auto 28px; padding:18px; background:#e7eff5; text-align:center; line-height:1.9; }
#directPurchaseForm { padding:24px; background:white; border:1px solid var(--border); border-radius:16px; }
#directPurchaseForm[hidden] { display:none; }
.direct-product-summary { display:grid; grid-template-columns:110px minmax(0,1fr) 150px; gap:18px; align-items:center; padding-bottom:24px; border-bottom:1px solid var(--border); }
.direct-product-summary img { width:110px; height:110px; object-fit:contain; }
.direct-product-summary p { color:var(--muted); line-height:1.7; }
.direct-customer-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:24px 0; }
.direct-purchase-page label { display:grid; gap:8px; font-size:14px; }
.direct-purchase-page input,.direct-purchase-page textarea { width:100%; min-height:46px; border:1px solid #cbd5d1; border-radius:9px; padding:12px; font:inherit; }
.direct-purchase-page textarea { min-height:100px; resize:vertical; }
.direct-total { display:flex; gap:18px; align-items:center; padding:20px 0; font-size:20px; }
#purchaseStatus { line-height:1.8; }
@media(max-width:620px) { .direct-customer-fields { grid-template-columns:1fr; } .direct-product-summary { grid-template-columns:80px minmax(0,1fr); } .direct-product-summary img { width:80px; height:80px; } .direct-product-summary label { grid-column:1/-1; } #directPurchaseForm { padding:18px; } }

/* Left-side purchase controls; product links open a separate details page. */
#productGrid .product-card { position:relative; }
#productGrid a.product-image-wrap { display:block; }
.product-name-button { text-decoration:none; }
.product-hover-actions { position:absolute; left:8px; top:10px; z-index:2; display:flex; flex-direction:column; gap:6px; opacity:0; visibility:hidden; transform:translateX(-5px); transition:opacity .15s,transform .15s; }
.product-card:has(:focus-visible) .product-hover-actions { opacity:1; visibility:visible; transform:none; }
@media(hover:hover) and (pointer:fine) { #productGrid:not(.touch-product-mode) .product-card:hover .product-hover-actions { opacity:1; visibility:visible; transform:none; } }
#productGrid.touch-product-mode .product-hover-actions { opacity:0; visibility:hidden; transform:translateX(-5px); }
#productGrid .product-card.actions-open .product-hover-actions { opacity:1; visibility:visible; transform:none; }
.product-hover-actions a,.product-hover-actions button { display:flex; align-items:center; gap:6px; min-height:36px; padding:7px 9px; border:1px solid #dce5eb; border-radius:6px; background:#fff; color:#064777; text-decoration:none; font:inherit; font-size:12px; cursor:pointer; box-shadow:0 2px 6px #0002; }
.product-hover-actions a:hover,.product-hover-actions button:hover { background:#e8f6ed; }
#productGrid.product-detail-grid { display:block; }
.product-detail { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:28px; background:white; border:1px solid #dfe4e9; border-radius:14px; }
.detail-image { width:100%; max-height:440px; object-fit:contain; }
.detail-information h2 { margin:15px 0; font-size:28px; }
.detail-category { color:#64748b; }
.detail-description { white-space:pre-wrap; line-height:1.9; overflow-wrap:anywhere; }
.detail-price { display:block; margin:24px 0; font-size:26px; color:#138548; }
.detail-actions { display:flex; flex-wrap:wrap; gap:12px; }
.detail-actions a,.detail-actions button { padding:12px 20px; text-decoration:none; cursor:pointer; }
@media(hover:none),(pointer:coarse) { .product-card:has(:focus-visible):not(.actions-open) .product-hover-actions { opacity:0; visibility:hidden; } .product-hover-actions a,.product-hover-actions button { min-height:44px; } }
@media(max-width:620px) { .product-detail { grid-template-columns:1fr; padding:18px; gap:14px; } .detail-image { max-height:280px; } }

/* Compact parent and subcategory titles on the product listing. */
body[data-page="catalog"] .category-products-page > .section { padding-top:18px; }
body[data-page="catalog"] .category-page-heading { position:relative; padding:0 0 12px; margin-bottom:18px; }
body[data-page="catalog"] .category-page-heading #categoryBreadcrumb { display:flex; align-items:center; gap:6px; margin:0 0 7px; font-size:13px; line-height:1.5; }
body[data-page="catalog"] .category-page-heading h3 { display:flex; align-items:center; gap:8px; margin:0; font-size:24px; line-height:1.4; padding-inline-end:90px; }
body[data-page="catalog"] .category-page-heading #categoryProductCount { position:absolute; inset-inline-end:0; bottom:14px; font-size:12px; line-height:1.4; margin:0; }
.category-title-icon { display:inline-flex; align-items:center; justify-content:center; font-size:18px; width:20px; flex-shrink:0; }
.subcategory-title-icon { width:25px; height:25px; flex-shrink:0; }
@media(max-width:620px) { body[data-page="catalog"] .category-page-heading h3 { font-size:21px; } .subcategory-title-icon { width:22px; height:22px; } }

.product-info .product-name-button { position:relative; display:inline-block; }
.product-name-tooltip { position:absolute; bottom:calc(100% + 9px); inset-inline-end:0; z-index:5; width:max-content; max-width:240px; padding:6px 9px; border-radius:3px; background:#8671c8; color:#fff; font-size:13px; font-weight:400; line-height:1.5; white-space:normal; opacity:0; visibility:hidden; pointer-events:none; box-shadow:0 2px 5px #0002; }
.product-name-tooltip::after { content:''; position:absolute; top:100%; inset-inline-end:16px; border:5px solid transparent; border-top-color:#8671c8; }
.product-name-button:focus-visible .product-name-tooltip,.name-hint-open .product-name-tooltip { opacity:1; visibility:visible; }
@media(hover:hover) and (pointer:fine) { #productGrid:not(.touch-product-mode) .product-name-button:hover .product-name-tooltip { opacity:1; visibility:visible; } }
@media(max-width:620px) { .product-name-tooltip { max-width:150px; font-size:12px; } }

/* Product specifications: compact two-column detail layout. */
body[data-page="detail"] .site-shell { max-width:1400px; }
body[data-page="detail"] .category-products-page { width:91%; }
body[data-page="detail"] #products { padding-top:18px; }
body[data-page="detail"] .category-page-heading { padding:0 0 12px; margin:0 0 12px; }
body[data-page="detail"] .category-page-heading h3 { font-size:23px; margin:0; }
.detail-breadcrumbs { display:flex; flex-direction:column; gap:7px; margin:0 0 14px; font-size:13px; color:#084779; }
.detail-breadcrumbs a:first-child { color:#909b4f; }
body[data-page="detail"] .product-detail { max-width:1040px; margin:auto; border:0; border-radius:0; padding:12px 0; gap:38px; align-items:start; }
body[data-page="detail"] .detail-image { height:390px; max-height:390px; }
.detail-information h2 { margin:0 0 12px; font-size:17px; color:#084779; }
.detail-specifications { width:100%; border-collapse:collapse; table-layout:fixed; font-size:14px; color:#084779; }
.detail-specifications th,.detail-specifications td { padding:6px 8px; border-block:1px solid #c8cdd2; vertical-align:top; overflow-wrap:anywhere; white-space:pre-wrap; }
.detail-specifications th { width:48%; font-weight:400; border-inline-end:1px solid #c8cdd2; }
.detail-guide { text-align:center; margin:12px 0 23px; }
.detail-guide summary { display:inline-block; cursor:pointer; background:#ffab78; color:#064779; padding:10px 18px; border-radius:9px; box-shadow:0 3px 8px #0002; font-size:14px; font-weight:700; }
.detail-guide p { line-height:1.8; font-size:14px; }
.detail-actions { flex-direction:column; gap:16px; }
.detail-actions button,.detail-actions a { display:block; width:100%; text-align:center; background:#074579; color:white; border:0; border-radius:0; padding:10px; font-size:14px; font-weight:700; }
.detail-actions button:hover,.detail-actions a:hover { background:#126093; }
#detailActionStatus { min-height:18px; margin:8px 0; color:#138548; font-size:13px; }
.detail-share p { font-size:13px; color:#084779; }
.detail-share > div { display:flex; gap:8px; }
.detail-share a,.detail-share button { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid #9388c9; border-radius:50%; background:white; color:#176af3; font-size:16px; font-weight:700; cursor:pointer; }
@media(max-width:620px) { body[data-page="detail"] .product-detail { grid-template-columns:1fr; gap:20px; } body[data-page="detail"] .detail-image { height:260px; } body[data-page="detail"] .category-page-heading h3 { font-size:20px; } .detail-specifications { font-size:13px; } }

.delivery-editor { margin:18px 0; padding:16px; border:1px solid #cbd5e1; border-radius:10px; }
.delivery-editor input[type="checkbox"] { width:18px!important; height:18px; margin:0 6px; }
#deliveryProvinceRows { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:360px; overflow:auto; margin:14px 0; }
.delivery-province-row { display:flex; align-items:center; gap:5px; padding:5px; background:#f2f6f9; }
.delivery-province-row span { flex:1; }
.delivery-province-row input[type="number"] { width:100px!important; min-width:0; padding:6px!important; }
.delivery-days { display:flex; gap:12px; margin-top:12px; }
@media(max-width:620px) { #deliveryProvinceRows { grid-template-columns:1fr; } }

.delivery-common-fee { padding:12px; margin:12px 0; background:#eaf6ee; border-radius:8px; }
.delivery-common-fee label { display:block; margin-bottom:7px; }
.delivery-common-fee input { max-width:260px; }
#commonDeliveryFeeStatus { margin:6px 0; font-size:13px; }

#deliveryProvinceRows[hidden] { display:none; }
.detail-specifications th,.detail-specifications td { border:1px solid #c8cdd2; }

/* Structured dashboard: fields retain their own height instead of stretching. */
.dashboard-body { background:#f0f4f8; }
.admin-dashboard { width:min(1100px,94%); padding:22px 0; }
.admin-dashboard > section { padding:22px; margin-bottom:20px; border-radius:14px; }
.admin-dashboard .dashboard-header { margin-bottom:18px; }
.admin-dashboard .admin-product-form { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:18px; }
.dashboard-field { min-width:0; display:flex; flex-direction:column; gap:7px; align-self:start; }
.dashboard-field > label { font-size:14px; font-weight:700; color:#334155; }
.admin-dashboard .admin-product-form .dashboard-field input,.admin-dashboard .admin-product-form .dashboard-field select { height:44px; min-height:44px; padding:9px 12px; font-size:14px; border-radius:8px; }
.admin-dashboard .admin-product-form textarea { width:100%; min-height:84px; padding:10px 12px; font:inherit; font-size:14px; border:1px solid #d1d5db; border-radius:8px; resize:vertical; background:#f9fafb; }
.admin-dashboard .dashboard-image-field,.admin-dashboard .delivery-editor { grid-column:1 / -1; }
.admin-dashboard .delivery-editor { margin:0; min-width:0; padding:18px; background:#fafcfd; border-radius:10px; }
.delivery-editor legend { font-size:16px; font-weight:700; color:#084779; padding:0 8px; }
.delivery-editor p { font-size:13px; line-height:1.7; margin:7px 0 12px; }
.delivery-editor label:has(input[type="checkbox"]) { display:flex; align-items:center; gap:8px; font-size:14px; line-height:1.7; margin:10px 0; }
.admin-dashboard .delivery-editor input[type="checkbox"] { min-height:18px; height:18px; width:18px!important; padding:0; margin:0; flex:0 0 18px; accent-color:#159447; }
.admin-dashboard .delivery-editor button { min-height:38px; padding:8px 13px; margin:4px 0 4px 7px; border:1px solid #cbd5e1; border-radius:7px; background:#fff; color:#084779; font-size:13px; cursor:pointer; }
.admin-dashboard .delivery-editor input[type="number"] { min-height:40px; height:40px; padding:8px; font-size:14px; border-radius:7px; }
.delivery-common-fee { display:grid; grid-template-columns:minmax(160px,1fr) minmax(120px,200px) auto; align-items:center; gap:10px; padding:14px; }
.delivery-common-fee label { margin:0; font-size:14px; }
.admin-dashboard .delivery-common-fee input { width:100%; max-width:none; }
#commonDeliveryFeeStatus { grid-column:1 / -1; }
#deliveryProvinceRows { grid-template-columns:repeat(3,minmax(0,1fr)); max-height:270px; padding:6px; gap:8px; border:1px solid #dde5eb; border-radius:8px; }
.delivery-editor label.delivery-province-row { margin:0; padding:8px; background:white; border:1px solid #e5e7eb; border-radius:6px; }
.delivery-province-row span { font-size:13px; }
.admin-dashboard .delivery-province-row input[type="number"] { width:80px!important; }
.delivery-days { display:grid; grid-template-columns:repeat(2,minmax(0,200px)); gap:14px; padding-top:10px; }
.delivery-days label { display:flex; flex-direction:column; gap:6px; font-size:14px; }
.admin-dashboard .admin-image-preview { margin:4px 0; min-height:0; padding:10px; }
.admin-dashboard .admin-image-preview img { max-height:140px; width:auto; max-width:100%; }
.admin-dashboard .choose-image-btn { width:fit-content; min-height:38px; padding:8px 16px; margin-top:6px; }
.admin-dashboard #addProductBtn { min-height:44px; padding:10px 20px; }
@media(max-width:800px) { #deliveryProvinceRows { grid-template-columns:repeat(2,minmax(0,1fr)); } .delivery-common-fee { grid-template-columns:1fr 1fr; } .delivery-common-fee label { grid-column:1 / -1; } }
@media(max-width:620px) { .admin-dashboard .admin-product-form { grid-template-columns:1fr; gap:14px; } .admin-dashboard > section { padding:16px; } #deliveryProvinceRows { grid-template-columns:1fr; } .delivery-common-fee { grid-template-columns:1fr; } .delivery-days { grid-template-columns:1fr 1fr; } }

/* One shared success message for every add-to-cart button. */
.cart-success-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:1000; display:flex; align-items:center; gap:12px; width:max-content; max-width:calc(100vw - 32px); padding:13px 16px; background:#e9f8ef; color:#116a39; border:1px solid #a4d9b8; border-radius:12px; box-shadow:0 6px 24px #0002; font-size:15px; line-height:1.6; }
.cart-success-toast[hidden] { display:none; }
.cart-toast-icon { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:28px; height:28px; border-radius:50%; background:#159447; color:white; font-weight:700; }
.cart-success-toast > button { background:transparent; color:#116a39; border:0; padding:4px; min-width:36px; min-height:36px; font-size:25px; cursor:pointer; flex-shrink:0; }
.cart-success-toast > button:focus-visible { outline:2px solid #116a39; border-radius:5px; }
@media(max-width:620px) { .cart-success-toast { bottom:max(16px,env(safe-area-inset-bottom)); width:calc(100vw - 24px); max-width:calc(100vw - 24px); gap:9px; padding:10px 12px; font-size:14px; } .cart-success-toast > span[role="status"] { flex:1; } .cart-success-toast > button { min-width:44px; min-height:44px; } }

.push-settings { width:min(320px,calc(100% - 28px)); margin:24px auto; padding:15px; border:1px solid #cbdde7; border-radius:10px; background:#fff; color:#084779; text-align:start; }
.push-settings[hidden] { display:none; }
.push-settings > strong { font-size:15px; }
.push-settings p { font-size:13px; line-height:1.7; margin:8px 0; }
.push-settings button { width:100%; min-height:44px; padding:10px; border:0; border-radius:7px; background:#084779; color:#fff; font:inherit; font-size:14px; cursor:pointer; }
.push-settings button:disabled { opacity:.6; cursor:wait; }
.push-settings button:focus-visible { outline:3px solid #92c4f0; outline-offset:3px; }

/* Automatic centered opt-in, followed by the browser's own permission dialog. */
.push-permission-dialog { width:min(420px,calc(100vw - 28px)); max-height:calc(100dvh - 40px); overflow:auto; margin:auto; padding:26px; border:1px solid #d4e1eb; border-radius:18px; background:#fff; color:#084779; text-align:center; box-shadow:0 16px 60px #0003; }
.push-permission-dialog::backdrop { background:#09253b77; }
.push-dialog-icon { display:flex; align-items:center; justify-content:center; width:64px; height:64px; margin:0 auto 15px; background:#edf6ff; border-radius:50%; font-size:30px; }
.push-permission-dialog h2 { font-size:21px; margin:0 0 12px; line-height:1.5; }
.push-permission-dialog p { font-size:15px; line-height:1.8; margin:8px 0 16px; }
.push-dialog-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.push-dialog-actions button { min-height:46px; padding:10px 14px; border-radius:9px; border:1px solid #084779; font:inherit; font-size:15px; cursor:pointer; }
.push-allow { background:#084779; color:#fff; }
.push-decline { background:#fff; color:#084779; }
.push-dialog-actions button:disabled { opacity:.6; cursor:wait; }
.push-dialog-actions button:focus-visible,.push-settings-bell:focus-visible { outline:3px solid #7db7ed; outline-offset:3px; }
.push-permission-dialog p[role="status"]:empty { display:none; }
.push-settings-bell { position:fixed; right:20px; bottom:22px; z-index:30; width:48px; height:48px; border-radius:50%; border:1px solid #a7bfdb; background:white; color:#084779; font-size:22px; cursor:pointer; box-shadow:0 3px 10px #0002; }
.push-settings-bell[hidden] { display:none; }
@media(max-width:620px) { .push-permission-dialog { padding:22px 18px; border-radius:14px; } .push-permission-dialog h2 { font-size:19px; } .push-permission-dialog p { font-size:14px; } .push-settings-bell { right:14px; bottom:max(18px,env(safe-area-inset-bottom)); } }

.dashboard-top-actions { display:flex; align-items:center; gap:12px; }
.dashboard-top-actions .language-picker { color:#084779; background:white; }
.category-form-actions { display:flex; align-items:end; gap:8px; flex-wrap:wrap; }
.admin-dashboard .category-editor { align-items:start; gap:14px; }
.admin-dashboard .category-editor label { min-width:0; }
.admin-dashboard .category-editor input,.admin-dashboard .category-editor select { height:44px; min-height:44px; }
.category-editor [hidden] { display:none; }
#rootCategoryList,#childCategoryList { margin-top:18px; }
@media(max-width:620px){.admin-dashboard .category-editor {grid-template-columns:1fr;} .dashboard-top-actions {flex-wrap:wrap;} }

.category-admin-group h3 {font-size:15px;margin:18px 0 4px;color:#084779;}
.category-form-actions {display:flex;flex-wrap:wrap;gap:10px;align-self:end;}
.category-form-actions button {flex:1;}
.category-management [role="status"]:empty {display:none;}

.admin-product-form textarea {resize:vertical;min-height:90px;width:100%;box-sizing:border-box;font:inherit;}
.admin-product-form input[dir="ltr"],.admin-product-form textarea[dir="ltr"],.category-editor input[dir="ltr"] {text-align:left;}

/* Keep the reveal control clear of password text in both writing directions. */
.account-page .password-field {position:relative;display:block;direction:ltr;}
.account-page .password-field input {direction:ltr;text-align:left;padding:10px 58px 10px 14px;box-sizing:border-box;}
.account-page .password-toggle {left:auto;right:6px;inset-inline-end:auto;top:50%;transform:translateY(-50%);margin:0;padding:0;width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;line-height:1;border-radius:8px;background:transparent;}
.account-page .password-toggle:focus-visible {outline:2px solid #159447;outline-offset:0;}
.category-existing-picker {grid-column:1 / -1;}

.password-field input::-ms-reveal,.password-field input::-ms-clear {display:none;}

/* Grid placement avoids mixing physical and logical offsets in RTL forms. */
.account-page .password-field {display:grid;grid-template-columns:minmax(0,1fr) 56px;align-items:center;direction:ltr;}
.account-page .password-field input {grid-column:1 / -1;grid-row:1;min-width:0;padding:10px 58px 10px 14px;direction:ltr;text-align:left;}
.account-page .password-field .password-toggle {position:static;inset:auto;transform:none;grid-column:2;grid-row:1;justify-self:center;z-index:1;margin:0;}

.category-icon-upload {display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;}
.category-icon-upload small {flex-basis:100%;font-size:12px;color:#64748b;}
.category-icon-preview {width:64px;height:64px;object-fit:contain;border:1px solid #dbe5df;border-radius:10px;background:white;padding:5px;}
.category-uploaded-icon {width:26px;height:26px;object-fit:contain;vertical-align:middle;}
.category-card .category-uploaded-icon {width:48px;height:48px;}
.shelf-art .category-uploaded-icon {width:90px;height:90px;}
.category-icon-upload [hidden] {display:none;}

html[dir="rtl"] .footer-phone-list {text-align:right;}
html[dir="rtl"] .footer-phone-list a {margin-left:auto;margin-right:0;}
html[dir="ltr"] .footer-phone-list {text-align:left;}
html[dir="ltr"] .footer-phone-list a {margin-left:0;margin-right:auto;}

.site-shell>footer.site-footer{display:block;background:transparent;color:#084779;padding:0;margin-top:36px;}
.footer-service-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:white;padding:24px 28px;}
.footer-service{display:flex;align-items:center;gap:12px;padding:8px 20px;border-inline-end:1px solid #cbd5e1;min-width:0;}
.footer-service:last-child{border-inline-end:0;}
.footer-service-icon{font-size:42px;flex-shrink:0;line-height:1.2;}
.footer-service strong{display:block;font-size:14px;line-height:1.7;font-weight:600;}
.footer-service small{display:block;font-size:11px;line-height:1.8;color:#454e5a;}
.footer-blue{background:#08448f;color:#e5efff;padding:38px 38px 18px;}
.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;}
.footer-columns section{min-width:0;text-align:start;}
.footer-columns h2{font-size:18px;color:#bbd6f3;font-weight:600;margin:0 0 15px;padding:0 0 8px;border-bottom:1px solid #6590bc;display:inline-block;}
.footer-columns p{font-size:14px;line-height:1.9;margin:0 0 10px;overflow-wrap:anywhere;}
.footer-columns section>a,.footer-columns button{display:block;min-height:36px;margin:0 0 4px;padding:5px 0;font:inherit;font-size:14px;line-height:1.8;color:inherit;background:none;border:0;cursor:pointer;text-align:start;text-decoration:none;}
.footer-columns a:hover,.footer-columns button:hover{text-decoration:underline;color:white;}
.footer-columns a:focus-visible,.footer-columns button:focus-visible{outline:2px solid white;outline-offset:3px;}
.footer-phone-list{margin-bottom:16px;text-align:start;}.footer-phone-list a{display:block;width:fit-content;font-size:14px;line-height:1.9;}
.footer-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #ffffff30;margin-top:28px;padding-top:15px;font-size:12px;}
.footer-info-dialog{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow:auto;margin:auto;padding:24px;border:1px solid #cad8e6;border-radius:14px;color:#084779;background:white;}
.footer-info-dialog::backdrop{background:#10294680;}.footer-info-dialog h2{font-size:21px;margin-top:0;}.footer-info-dialog p{white-space:pre-line;line-height:2;font-size:15px;}.footer-info-dialog button{min-height:44px;padding:10px 22px;border:0;border-radius:8px;background:#08448f;color:white;font:inherit;cursor:pointer;}
@media(max-width:950px){.footer-service-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 12px;row-gap:12px;}.footer-service:nth-child(2){border-inline-end:0;}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}.footer-blue{padding:28px 24px 18px;}}
@media(max-width:620px){.footer-service{padding:6px 8px;gap:8px;}.footer-service-icon{font-size:30px;}.footer-service strong{font-size:12px;}.footer-service small{font-size:10px;}.footer-columns{grid-template-columns:1fr;gap:24px;}.footer-blue{padding:24px 20px 16px;}.footer-columns section>a,.footer-columns button{min-height:44px;}.footer-phone-list a{min-height:36px;}}

.product-category-caption {padding:7px 12px;font-size:11px;line-height:1.5;color:#617080;background:#f2f6f8;border-bottom:1px solid #e4e9ed;text-align:start;overflow-wrap:anywhere;}
@media(max-width:620px){.product-category-caption{padding:6px 8px;font-size:10px;}}

/* Keep translated labels, long names and private registration cards inside their columns. */
.dashboard-header {flex-wrap:wrap;gap:16px;}
.dashboard-top-actions {flex-wrap:wrap;max-width:100%;}
.dashboard-top-actions a {white-space:normal;line-height:1.6;}
.account-language-picker {display:flex!important;justify-content:flex-end;margin-bottom:18px;}
.account-language-picker select,.registry-tools input,.registry-tools button {min-height:44px;font:inherit;padding:9px 12px;border:1px solid #cbd5d1;border-radius:9px;background:white;}
.customer-registry .registry-tools {display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.registry-tools input {flex:1;min-width:160px;max-width:100%;}
.registry-tools button {cursor:pointer;color:#0f7136;}
#registryList {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.registration-card {min-width:0;border:1px solid #d8e1e8;border-radius:12px;padding:16px;background:#fff;}
.registration-card h3 {margin:0 0 12px;}
.registration-card p {overflow-wrap:anywhere;line-height:1.8;margin:8px 0;text-align:start;}
.customer-registry [hidden] {display:none;}
.admin-product-form .dashboard-field,.category-editor>* {min-width:0;}
.admin-dashboard input,.admin-dashboard select,.admin-dashboard textarea {max-width:100%;}
button,a,input,select,textarea {touch-action:manipulation;}
@media(max-width:620px){#registryList{grid-template-columns:1fr;}.dashboard-top-actions{width:100%;}.registry-tools input{flex-basis:100%;}.customer-registry h2{font-size:20px;}.site-shell .header-actions{min-width:0;}.site-shell .topbar{column-gap:6px;}.site-shell .header-account-link{font-size:11px;gap:3px;}}

.account-error {color:#c82333!important;font-weight:600;line-height:1.8;}
.member-header {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;background:#084779;color:white;}
.member-header>div {display:flex;align-items:center;gap:18px;}.member-header select{min-height:44px;padding:8px;border:1px solid #a8c1d5;border-radius:8px;font:inherit;}.member-header button{min-height:44px;padding:9px 18px;border:0;border-radius:7px;color:white;background:#d93449;font:inherit;cursor:pointer;}.member-header a[aria-label]{font-size:28px;}
.member-nav {display:flex;justify-content:flex-start;flex-wrap:wrap;gap:18px;padding:16px 24px;background:white;color:#084779;border-bottom:1px dotted #a3bed2;}.member-nav a{min-height:44px;padding:10px 14px;}.member-nav [aria-current]{background:#5d69aa;color:white;border-radius:6px;}
.member-main {min-height:480px;padding-block:24px 48px;}.member-main h1{text-align:center;color:#17202a;font-size:28px;border-bottom:1px dotted #a3bed2;padding-bottom:22px;}.member-card {max-width:850px;padding:24px;margin-block:24px;background:white;border:1px solid #dbe2e8;border-radius:9px;box-shadow:0 8px 18px #0001;}.member-card h2{font-size:20px;color:#159447;}.member-card dl{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr);gap:0;}.member-card dt,.member-card dd{padding:12px 8px;border-bottom:1px solid #e2e8ef;margin:0;overflow-wrap:anywhere;}.member-card dt{font-weight:600;}.member-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}.member-card[hidden]{display:none;}
@media(max-width:620px){.member-header{padding:12px;}.member-header>div{gap:8px;}.member-header img{width:44px;height:44px;}.member-nav{gap:4px;padding:8px;}.member-nav a{padding:9px;font-size:13px;}.member-main h1{font-size:23px;}.member-card{padding:16px;}.member-card dl{grid-template-columns:1fr;}.member-card dt{border:0;padding-bottom:0;}.member-card dd{padding-top:6px;}.member-actions>a{width:100%;text-align:center;}}

.member-shop-card{background:#f7f9fa;margin-inline-end:auto;}.member-shop-card dd{font-size:16px;}.member-main .member-actions .secondary-btn{border:1px solid #0879ff;color:#0879ff;padding:12px 18px;border-radius:6px;}

/* Registration errors stay above the fields in every language. */
.customer-account #accountMessage:empty{display:none;}
.customer-account #accountMessage.account-error{background:#ffd8da;color:#c82333!important;border:1px solid #f8bfc4;border-radius:10px;padding:16px 20px;margin:18px 0 22px;white-space:pre-line;text-align:start;font-weight:400;line-height:1.8;overflow-wrap:anywhere;}
.customer-account #accountMessage:focus-visible{outline:2px solid #c82333;outline-offset:3px;}
@media(max-width:620px){.customer-account #accountMessage.account-error{padding:12px 14px;font-size:14px;}}

/* Compact account form matching the supplied registration layout. */
.account-page .customer-account{box-sizing:border-box;width:min(540px,calc(100% - 32px));max-width:540px;margin:190px auto 48px;padding:24px 28px 20px;border:0;border-radius:10px;box-shadow:0 3px 7px #0002;}
.account-page .customer-account form{gap:24px;}
.account-page .customer-account input{height:60px;border:2px solid #e0e7f1;border-radius:9px;font-size:16px;}
.account-page .customer-account input:focus{outline:2px solid #377dff;outline-offset:1px;box-shadow:0 0 0 4px #377dff24;}
.account-page .account-brand{top:-116px;}
.account-page .account-language-picker{position:absolute;top:-54px;inset-inline-end:0;margin:0;align-items:center;gap:7px;}
.account-page .account-language-picker select{min-height:36px;padding:4px 8px;font-size:12px;}
.account-page #accountHeading,.account-page #passwordHint,.account-page #backToShop{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.account-bottom-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px;}
.account-page #accountSubmit{background:linear-gradient(110deg,#3787ff,#204cde);color:white;min-width:110px;min-height:58px;padding:12px 20px;box-shadow:0 3px 5px #0002;border-radius:10px;font-weight:600;}
.account-page #accountSwitch{color:#377dff;min-height:44px;font-size:14px;padding:8px 0;text-align:start;}
@media(max-width:600px){.account-page .customer-account{margin:150px auto 28px;padding:20px;}.account-page .customer-account form{gap:20px;}.account-page .customer-account input{height:54px;}.account-page #accountSubmit{min-height:50px;min-width:100px;}.account-bottom-actions{gap:10px;}.account-page #accountSwitch{font-size:13px;}}

.account-page #customerAccountForm[data-mode="login"] .account-bottom-actions{display:block;width:100%;margin-top:24px;}
.account-page #customerAccountForm[data-mode="login"] #accountSubmit{display:block;width:100%;min-height:60px;}
.account-page #customerAccountForm[data-mode="login"] #accountSwitch{display:none;}
@media(max-width:600px){.account-page #customerAccountForm[data-mode="login"] #accountSubmit{min-height:54px;}}

.member-page{background:#a6fff0;}.member-page .site-shell{background:white;box-shadow:0 0 10px #08ad9d40;}
.member-page .member-header{background:#064779;direction:ltr;padding:12px 34px;}.member-page .member-header img{width:48px;height:48px;}.member-page .member-header>div{flex-direction:row-reverse;}
.member-page .member-nav{padding:12px 28px;gap:10px;}.member-page .member-nav [aria-current]{background:#ec6270;}
.member-page .member-main{min-height:660px;padding:12px 32px 52px;}.member-page .member-main h1{font-size:28px;padding:14px 0 24px;}
.member-page .member-shop-card{width:min(100%,780px);background:#f8f9fa;margin:28px 0 0 auto;padding:22px 20px 18px;}
html[dir="ltr"] .member-page .member-shop-card{margin-left:0;margin-right:auto;}
.member-page .member-card dl{display:block;margin:14px 0;}.member-page .member-card dt,.member-page .member-card dd{display:inline;padding:0;border:0;}.member-summary-row{margin:12px 0;display:flex;gap:6px;align-items:center;flex-wrap:wrap;}.member-summary-row dt::after{content:':';}.member-status{display:inline-block!important;color:white;background:#168957;border-radius:4px;padding:2px 10px!important;font-size:13px!important;}.member-status[data-state="pending"]{background:#976600;}.member-status[data-state="suspended"]{background:#ad3541;}
.member-page .member-actions{justify-content:flex-start;gap:6px;}.member-page .member-actions a{min-height:44px;padding:10px 14px;border-radius:5px;font-size:14px;}.member-page .member-actions .primary-btn{background:#0879ff;color:white;}.member-page .member-actions .secondary-btn{border:1px solid #0879ff;color:#0879ff;}
.member-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;}.member-products-grid article{border:1px solid #dbe2e8;border-radius:9px;padding:16px;min-width:0;}.member-products-grid img{width:100%;height:180px;object-fit:contain;}.member-products-grid h2{font-size:18px;overflow-wrap:anywhere;}.member-products-grid[hidden]{display:none;}
@media(max-width:620px){.member-page .member-main{padding:10px 16px 32px;min-height:440px;}.member-page .member-header{padding:12px 16px;}.member-page .member-main h1{font-size:22px;}.member-page .member-nav{padding:8px;gap:0;}.member-page .member-shop-card{padding:18px 14px;}.member-page .member-actions a{width:100%;}.member-products-grid{grid-template-columns:1fr;}}

.shop-details-main .shop-title-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:18px;}.shop-details-main .shop-title-row h1{text-align:start;font-size:24px;border:0;padding:0;margin:18px 0;}.shop-back{border:1px solid #8493a0;padding:6px 10px;border-radius:3px;font-size:13px;color:#657787;}
.shop-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}.shop-details-grid[hidden]{display:none;}.shop-panel{background:#f8f9fa;border:1px solid #d8e0e7;border-radius:4px;padding:18px;box-shadow:0 2px 4px #0001;min-width:0;}.shop-panel h2{font-size:18px;margin:0 0 12px;color:#087cff;}.shop-information h2{color:#168957;}.shop-details-grid .shop-subshops{grid-column:1;}.shop-detail-row{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0;justify-content:flex-start;}.shop-detail-row dt{font-weight:700;}.shop-detail-row dd{margin:0;overflow-wrap:anywhere;}.shop-panel dl{font-size:14px;margin-bottom:24px;}.shop-panel label{display:grid;gap:8px;margin:20px 0 12px;font-size:14px;}.shop-panel input,.shop-panel select,#shopWithdrawAmount{width:100%;min-height:40px;padding:8px 12px;border:1px solid #c7d1dc;border-radius:3px;background:white;font:inherit;box-sizing:border-box;}.shop-panel button,#shopWithdrawDialog button{min-height:40px;padding:8px 14px;font:inherit;font-size:14px;border:0;border-radius:4px;background:#0879ff;color:white;cursor:pointer;}.shop-panel button:disabled{opacity:.6;cursor:wait;}.shop-note{font-size:13px;color:#71818f;line-height:1.9;}.shop-link-row{display:flex;gap:8px;}.shop-link-row input{min-width:0;background:#e9edf1;}.shop-action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;}.shop-action-row a{min-height:40px;padding:8px 12px;border:1px solid #0879ff;border-radius:4px;color:#0879ff;font-size:14px;}.shop-action-row .shop-green{background:#168957;}.shop-change form>button{display:block;margin-inline-end:0;margin-inline-start:auto;}.shop-change h3{font-size:16px;margin-top:30px;}.shop-change #shopRequestHistory{font-size:13px;line-height:1.8;}.shop-table-wrap{overflow:auto;}.shop-table-wrap table{border-collapse:collapse;width:100%;font-size:14px;}.shop-table-wrap th,.shop-table-wrap td{border:1px solid #d7dfe6;padding:8px;text-align:start;}.shop-table-wrap td{overflow-wrap:anywhere;}.shop-admin .shop-panel{margin:20px 0;}.shop-admin form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;}.shop-admin form label{margin:0;}.shop-admin form>button{width:fit-content;}
#shopWithdrawDialog{width:min(450px,calc(100vw - 32px));border:1px solid #cad8e6;border-radius:10px;padding:24px;color:#084779;}#shopWithdrawDialog::backdrop{background:#10294680;}#shopWithdrawDialog label{display:grid;gap:8px;}#shopWithdrawDialog p{line-height:1.8;font-size:14px;}
@media(max-width:800px){.shop-details-grid{grid-template-columns:1fr;}.shop-details-grid .shop-subshops{grid-column:auto;}.shop-admin form{grid-template-columns:1fr;}.shop-title-row{align-items:flex-start;}.shop-panel{padding:14px;}.shop-details-main .shop-title-row h1{font-size:21px;}.shop-action-row>a,.shop-action-row>button{flex:1;min-width:120px;text-align:center;}}

.affiliate-application{width:min(100%,650px);margin:22px 0 0 auto;border:1px solid #d2dbe4;padding:18px;background:#fff;color:#084779;}.affiliate-application[hidden]{display:none;}html[dir="ltr"] .affiliate-application{margin-left:0;margin-right:auto;}.application-state{color:#ce3546;font-size:14px;line-height:1.9;}.application-opportunity{background:#d0f3fa;border:1px solid #99dfea;border-radius:3px;padding:18px;font-size:14px;line-height:1.9;}.application-opportunity h2{font-size:18px;color:#0879ff;}.application-opportunity h3{font-size:15px;}.application-terms{white-space:pre-line;}.application-opportunity a{color:#0879ff;text-decoration:underline;}.affiliate-application form{display:grid;gap:18px;margin-top:24px;}.affiliate-application label{display:grid;gap:8px;font-size:14px;}.affiliate-application input:not([type="checkbox"]){width:100%;min-height:42px;padding:8px 10px;border:1px solid #c7d1dc;border-radius:3px;box-sizing:border-box;font:inherit;}.affiliate-application input[type="file"]{min-height:44px;max-width:100%;font-size:12px;}.application-accept{display:flex!important;align-items:center;gap:10px;font-size:13px;line-height:1.8;}.application-accept input[type="checkbox"]{width:20px;height:20px;min-height:20px;flex:0 0 20px;}.affiliate-application button{background:#0879ff;color:#fff;border:0;border-radius:4px;min-height:44px;padding:10px 16px;justify-self:start;font:inherit;font-size:14px;}.affiliate-application button:disabled{opacity:.6;cursor:wait;}.shop-admin textarea{width:100%;min-height:80px;box-sizing:border-box;}.shop-admin .application-accept input{width:20px;}.shop-admin #shopApplications a{display:inline-block;padding:10px;border:1px solid #0879ff;border-radius:4px;color:#0879ff;}
@media(max-width:620px){.affiliate-application{padding:14px;}.application-opportunity{padding:12px;font-size:13px;}.affiliate-application button{width:100%;}.affiliate-application label{font-size:13px;}}

.member-products-grid .member-actions button{min-height:44px;padding:8px 12px;border:1px solid #0879ff;border-radius:4px;background:#0879ff;color:white;font:inherit;font-size:14px;cursor:pointer;}

#shopWithdrawDialog.withdrawal-modal{width:min(675px,calc(100vw - 28px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;margin:auto;padding:0;border:1px solid #6d7378;border-radius:5px;color:#292f33;background:white;}
#shopWithdrawDialog::backdrop{background:#0008;}.withdrawal-modal-header{display:flex;align-items:center;gap:12px;padding:22px;border-bottom:1px solid #dce1e5;background:#f8f9fa;}.withdrawal-modal-header h2{font-size:23px;margin:0;}.withdrawal-modal-header .withdrawal-close{margin-inline-start:auto;background:transparent!important;color:#808080!important;border:0;padding:0!important;min-width:36px;min-height:36px;font-size:0!important;}.withdrawal-close::before{content:'×';font-size:36px;line-height:1;}.withdrawal-modal-body{padding:22px;}#shopWithdrawDialog .withdrawal-modal-body .withdrawal-minimum{margin:0 0 22px;padding:20px;background:#d0f3fa;border:1px solid #9ee5f6;border-radius:4px;color:#075c6d;font-size:19px;line-height:1.8;}#shopWithdrawDialog .withdrawal-modal-body label{display:grid;gap:14px;margin:20px 0;font-size:19px;}#shopWithdrawDialog .withdrawal-modal-body input,#shopWithdrawDialog .withdrawal-modal-body select,#shopWithdrawDialog .withdrawal-modal-body textarea{width:100%;box-sizing:border-box;border:1px solid #cbd4df;border-radius:4px;padding:10px 14px;background:white;font:inherit;min-height:52px;}#shopWithdrawDialog .withdrawal-modal-body textarea{min-height:116px;resize:vertical;}#shopWithdrawDialog .withdrawal-modal-body input:focus,#shopWithdrawDialog .withdrawal-modal-body select:focus,#shopWithdrawDialog .withdrawal-modal-body textarea:focus{outline:1px solid #3787ff;box-shadow:0 0 0 5px #3787ff40;}.withdrawal-modal-footer{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:20px 22px;border-top:1px solid #dce1e5;background:white;}#shopWithdrawDialog .withdrawal-modal-footer button{min-height:50px;font-size:18px;font-weight:600;padding:10px 16px;background:#0879ff;color:white;}#shopWithdrawDialog #cancelShopWithdrawal{background:#6c757d;}
@media(max-width:620px){.withdrawal-modal-header{padding:16px;}.withdrawal-modal-header h2{font-size:20px;}.withdrawal-modal-body{padding:16px;}#shopWithdrawDialog .withdrawal-modal-body .withdrawal-minimum{font-size:15px;padding:14px;}#shopWithdrawDialog .withdrawal-modal-body label{font-size:16px;}.withdrawal-modal-footer{padding:16px;flex-wrap:wrap;}#shopWithdrawDialog .withdrawal-modal-footer button{font-size:16px;min-height:46px;}}

.profile-edit-page{background:#f3f4f6;color:#143657;}.profile-edit-page .site-shell{max-width:none;background:transparent;}.profile-edit-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;background:white;border-bottom:1px solid #e3e6eb;padding:14px max(20px,calc((100vw - 1100px)/2));}.profile-edit-header nav{display:flex;gap:28px;align-items:center;}.profile-edit-header nav a{min-height:44px;display:flex;align-items:center;font-size:14px;}.profile-edit-header [aria-current]{border-bottom:2px solid #6678ff;}.profile-edit-header>div{display:flex;align-items:center;gap:14px;font-size:13px;}.profile-edit-header button{font:inherit;border:0;background:transparent;color:#65758a;cursor:pointer;min-height:44px;}.profile-page-title{background:white;padding:20px max(20px,calc((100vw - 1100px)/2));border-bottom:1px solid #e3e6eb;}.profile-page-title h1{font-size:20px;margin:0;}.profile-edit-main{max-width:1100px;margin:28px auto;padding:0 20px 32px;}.profile-edit-section{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:28px;align-items:start;padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid #dfe4ea;}.profile-edit-section aside h2{font-size:18px;margin:0 0 8px;}.profile-edit-section aside p{font-size:13px;line-height:1.8;color:#677b94;margin:0;}.profile-edit-card{background:white;border:1px solid #e1e5eb;border-radius:8px;box-shadow:0 1px 3px #0001;overflow:hidden;min-width:0;}.profile-form-fields{width:min(100%,460px);margin-inline-start:0;margin-inline-end:auto;padding:24px;box-sizing:border-box;display:grid;gap:22px;}.profile-form-fields label{display:grid;gap:7px;font-size:14px;}.profile-form-fields input{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #cad3df;border-radius:5px;padding:8px 12px;background:white;font:inherit;box-shadow:0 1px 2px #0001;}.profile-form-fields input:focus{outline:2px solid #3787ff;outline-offset:1px;}.profile-form-fields input[type="password"]{text-align:left;}.profile-form-fields p{font-size:14px;line-height:1.8;margin:0;}.profile-form-fields p:empty{display:none;}.profile-form-footer{background:#f9fafb;padding:14px 24px;display:flex;justify-content:flex-end;}.profile-form-footer button{min-height:40px;padding:8px 18px;background:#1f2937;color:white;border:0;border-radius:5px;font:inherit;font-size:13px;cursor:pointer;}.profile-form-footer button:disabled{opacity:.6;cursor:wait;}.profile-edit-main [hidden]{display:none;}
@media(max-width:720px){.profile-edit-section{grid-template-columns:1fr;gap:16px;}.profile-edit-main{margin:22px auto;padding-inline:16px;}.profile-form-fields{width:100%;padding:20px;gap:18px;}.profile-edit-header{padding:10px 16px;}.profile-page-title{padding:16px;}.profile-edit-header nav{gap:16px;}.profile-edit-header>div{max-width:100%;overflow-wrap:anywhere;}.profile-form-footer{padding:14px 20px;}}

.dashboard-private-note{padding:16px;border:1px solid #d3dce8;border-radius:10px;background:#f5f8fc;}.dashboard-private-note small{display:block;font-size:12px;line-height:1.8;color:#5c7188;}.admin-private-code{font-size:13px;font-weight:600;overflow-wrap:anywhere;}.admin-private-details{padding:10px 12px;margin:10px 0;border:1px dashed #bccad8;border-radius:7px;background:#f5f8fc;max-width:100%;}.admin-private-details summary{font-size:13px;cursor:pointer;color:#3d5875;}.admin-private-details p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8;}

.product-public-code{display:block;color:#526579;overflow-wrap:anywhere}.member-main #memberProductSearch{width:100%;padding:12px;margin-bottom:20px;border:1px solid #cbd5e1;border-radius:8px}

/* Public identification stays visible on narrow cards and touch devices. */
#productGrid .product-info > .product-public-code{display:block;visibility:visible;opacity:1;flex:0 0 auto;height:auto;max-height:none;min-width:0;margin:0 0 8px;font-size:12px;line-height:1.6;white-space:normal;overflow-wrap:anywhere;color:#42576b;}
.product-public-code bdi{font-weight:600;overflow-wrap:anywhere;}
@media(max-width:620px){
 .site-shell .site-name-strip{position:static;}
 .site-shell .topbar{position:relative;top:auto;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:0;height:auto;padding:10px;}
 .site-shell .topbar > .category-menu-wrap{grid-column:1;grid-row:1;justify-self:start;}
 .site-shell .topbar > .brand-wrap{grid-column:2;grid-row:1;justify-self:end;min-width:0;}
 .site-shell .topbar > .header-search{grid-column:1/-1;grid-row:2;width:100%;min-width:0;}
 .site-shell .topbar > .header-actions{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:minmax(0,1.2fr) auto repeat(2,minmax(0,1fr));align-items:stretch;justify-self:stretch;width:100%;gap:6px;}
 .site-shell .topbar .header-account-link{justify-content:center;gap:4px;min-height:44px;min-width:0;padding:6px 4px;font-size:12px;line-height:1.5;border:1px solid #ffffff38;border-radius:7px;white-space:normal;text-align:center;}
 .site-shell .topbar .header-account-link > span:first-child{flex-shrink:0;font-size:14px;}
 .site-shell .topbar .language-picker{display:flex;justify-content:center;gap:3px;padding:4px;min-width:0;min-height:44px;}
 .site-shell .topbar .language-picker select{width:100%;min-width:0;max-width:70px;font-size:12px;}
 .site-shell .topbar .cart-btn{min-height:44px;padding:4px 6px;white-space:nowrap;font-size:20px;}
 .site-shell .topbar .category-menu{position:absolute;top:100%;right:0;left:auto;width:min(94vw,420px);max-height:65dvh;}
 #productGrid .product-info > .product-public-code{font-size:12px;margin-bottom:8px;}
 .detail-specifications td{overflow-wrap:anywhere;}
}
@media(max-width:360px){
 .site-shell .topbar > .header-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
 .site-shell .topbar .header-account-link{font-size:13px;}
}

@media(min-width:361px) and (max-width:620px){.site-shell .topbar > .header-actions:not(:has(.language-picker)){grid-template-columns:auto repeat(2,minmax(0,1fr));}}
