/* A1 Mart combined patch: compact product page + multi-category editor */

/* ---------- Storefront product details ---------- */
main.product-page > nav + div {
  isolation: isolate;
  animation: a1-product-enter .32s cubic-bezier(.22,1,.36,1) both;
}
main.product-page > nav + div > div:last-child h1 {
  text-wrap: balance;
}
main.product-page > nav + div > div:last-child .prose {
  overflow: hidden;
  border: 1px solid #f1f5f9;
  border-radius: 16px;
  background: linear-gradient(145deg,#fff,#fffaf5);
  padding: 7px;
  box-shadow: 0 2px 8px rgba(15,23,42,.04);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
main.product-page > nav + div > div:last-child .prose > :first-child { margin-top: 0 !important; }
main.product-page > nav + div > div:last-child .prose > :last-child { margin-bottom: 0 !important; }
main.product-page > nav + div > div:last-child .prose p:empty { display:none !important; }
main.product-page > nav + div > div:last-child .prose img {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:265px !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:12px;
}
main.product-page > nav + div > div:last-child .prose figure { margin:0 !important; }
main.product-page .product-actions-grid .product-action-button {
  position:relative;
  overflow:hidden;
  transition:transform .17s ease, filter .17s ease, box-shadow .17s ease !important;
}
main.product-page .product-actions-grid .product-action-button::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.16) 49%,transparent 67%);
  transform:translateX(-125%);
  transition:transform .5s ease;
}
main.product-page > nav + div > div:last-child button[aria-pressed],
main.product-page > nav + div > div:last-child button:not(.product-action-button) {
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease !important;
}
@media (hover:hover) {
  main.product-page > nav + div > div:last-child .prose:hover {
    transform:translateY(-1px);
    border-color:rgba(249,115,22,.22);
    box-shadow:0 8px 22px rgba(15,23,42,.065);
  }
  main.product-page .product-actions-grid .product-action-button:hover::after { transform:translateX(125%); }
  main.product-page > nav + div > div:last-child button[aria-pressed]:hover:not(:disabled) { transform:translateY(-1px); }
}
@keyframes a1-product-enter {
  from { opacity:.72; transform:translateY(7px); }
  to { opacity:1; transform:translateY(0); }
}
@media (min-width:1024px) {
  main.product-page { max-width:1440px !important; }
  main.product-page > nav { margin-bottom:12px !important; }
  main.product-page > nav + div {
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr) !important;
    gap:28px !important;
    padding:20px !important;
    border-radius:20px !important;
  }
  main.product-page > nav + div > div:last-child {
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  main.product-page > nav + div > div:last-child > div:first-child { margin-bottom:7px !important; gap:6px !important; }
  main.product-page > nav + div > div:last-child h1 {
    font-size:26px !important;
    line-height:1.18 !important;
    font-weight:800 !important;
    margin-top:0 !important;
    margin-bottom:6px !important;
    letter-spacing:-.025em !important;
  }
  main.product-page > nav + div > div:last-child h1 + div { margin-bottom:5px !important; gap:10px !important; }
  main.product-page > nav + div > div:last-child h1 + div .text-lg { font-size:16px !important; }
  main.product-page > nav + div > div:last-child h1 + div + div {
    margin-top:5px !important;
    margin-bottom:9px !important;
  }
  main.product-page > nav + div > div:last-child h1 + div + div > span:first-child { font-size:29px !important; line-height:1 !important; }
  main.product-page > nav + div > div:last-child hr { margin-bottom:10px !important; }
  main.product-page > nav + div > div:last-child .prose {
    margin-top:0 !important;
    margin-bottom:11px !important;
    line-height:1.5 !important;
  }
  main.product-page > nav + div > div:last-child .prose img { max-height:245px !important; }
  main.product-page > nav + div > div:last-child .prose p { margin-top:3px !important; margin-bottom:5px !important; }
  main.product-page > nav + div > div:last-child .space-y-4.border-t,
  main.product-page > nav + div > div:last-child .space-y-5.border-t {
    padding-top:11px !important;
    margin-top:0 !important;
  }
  main.product-page > nav + div > div:last-child .space-y-4.border-t > * + *,
  main.product-page > nav + div > div:last-child .space-y-5.border-t > * + * { margin-top:11px !important; }
  main.product-page > nav + div > div:last-child .product-quantity-row { margin-top:4px !important; gap:12px !important; }
  main.product-page .product-actions-grid { gap:9px !important; }
  main.product-page .product-actions-grid .product-action-button {
    min-height:44px !important;
    border-radius:10px !important;
    padding:8px 10px !important;
    font-weight:750 !important;
  }
  main.product-page .product-action-primary { min-height:48px !important; }
}
@media (max-width:639px) {
  main.product-page > nav + div > div:last-child .prose { border-radius:12px; padding:5px; }
  main.product-page > nav + div > div:last-child .prose img { max-height:235px !important; }
  main.product-page .product-actions-grid { gap:8px !important; }
}
@media (prefers-reduced-motion:reduce) {
  main.product-page > nav + div { animation:none !important; }
  main.product-page > nav + div > div:last-child .prose,
  main.product-page .product-actions-grid .product-action-button,
  main.product-page > nav + div > div:last-child button { transition:none !important; transform:none !important; }
  main.product-page .product-actions-grid .product-action-button::after { display:none !important; }
}

/* ---------- Admin product multi-category enhancement ---------- */
.a1-multi-category-field {
  grid-column:1 / -1;
  position:relative;
}
.a1-multi-category-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
  color:#374151;
  font-size:12px;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.a1-multi-category-label small { color:#94a3b8; font-size:10px; font-weight:600; letter-spacing:0; text-transform:none; }
.a1-multi-category-control {
  min-height:46px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 10px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.a1-multi-category-control:hover { border-color:#fdba74; }
.a1-multi-category-control:focus-visible { outline:none; border-color:#f97316; box-shadow:0 0 0 3px rgba(249,115,22,.13); }
.a1-multi-category-chips { display:flex; flex:1; min-width:0; flex-wrap:wrap; gap:5px; }
.a1-multi-category-chip {
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:5px 9px;
  border:1px solid #ffedd5;
  border-radius:999px;
  background:#fff7ed;
  color:#9a3412;
  font-size:11px;
  font-weight:750;
  line-height:1;
}
.a1-multi-category-placeholder { color:#9ca3af; font-size:13px; }
.a1-multi-category-menu {
  position:absolute;
  z-index:80;
  top:calc(100% - 19px);
  left:0;
  right:0;
  display:none;
  max-height:280px;
  overflow:auto;
  padding:7px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 40px rgba(15,23,42,.14);
  animation:a1-menu-pop .16s ease both;
}
.a1-multi-category-field[data-open="1"] .a1-multi-category-menu { display:block; }
.a1-multi-category-option {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border-radius:10px;
  cursor:pointer;
  color:#374151;
  font-size:13px;
  font-weight:650;
}
.a1-multi-category-option:hover { background:#f8fafc; }
.a1-multi-category-option[data-selected="1"] { background:#fff7ed; color:#9a3412; }
.a1-multi-category-option input { width:16px; height:16px; accent-color:#f97316; }
.a1-multi-category-help {
  margin-top:6px;
  padding:8px 10px;
  border:1px solid #dbeafe;
  border-radius:10px;
  background:#eff6ff;
  color:#1e40af;
  font-size:11px;
  line-height:1.45;
}
.a1-primary-category-note { margin-top:4px; color:#94a3b8; font-size:10px; line-height:1.4; }
@keyframes a1-menu-pop { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:translateY(0)} }
