/* PRAASIA Public V25 — Full-width shop products (page-local stylesheet)
   Presentation only: existing shop queries, links, filters and pagination remain unchanged. */
body.sp-fullwidth-page {
  margin:0;
  min-width:0;
  overflow-x:clip;
  background:#170a04;
  color:#f8e8c8;
}
body.sp-fullwidth-page,body.sp-fullwidth-page * {box-sizing:border-box;}
body.sp-fullwidth-page .shop-shell {
  width:calc(100% - 32px)!important;
  max-width:none!important;
  min-width:0!important;
  margin:0 auto!important;
  table-layout:fixed;
  background:#100803;
  box-shadow:0 8px 28px rgba(0,0,0,.24);
}
body.sp-fullwidth-page .shop-shell > tbody > tr > td {
  width:100%; min-width:0; max-width:100%; padding:0;
}
/* Shop banner remains intact and proportionate. An old 1000px banner is centered,
   with the unused width filled by a matching background rather than distorting it. */
body.sp-fullwidth-page .shop-head-img,
body.sp-fullwidth-page .shop-head-object {
  display:block;width:100%!important;max-width:100%;height:auto!important;
  max-height:350px;aspect-ratio:1000/350;object-fit:contain;object-position:center;
  background:linear-gradient(100deg,#1b0b05,#4a220b 45%,#1b0b05);
}
body.sp-fullwidth-page .shop-menu {
  height:auto; min-height:48px;
  background:linear-gradient(180deg,#efcb77,#c99440);
  border-top:1px solid #edcb88;border-bottom:1px solid #9d6d27;
}
body.sp-fullwidth-page .shop-menu-table,
body.sp-fullwidth-page .shop-menu-table > tbody {
  display:block;width:100%!important;max-width:100%;height:auto!important;
  margin:0!important;
}
body.sp-fullwidth-page .shop-menu-table > tbody > tr {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(260px,1.5fr);
  gap:10px;align-items:center;width:100%;padding:8px 12px;
}
body.sp-fullwidth-page .shop-menu-table > tbody > tr > td {
  display:flex;align-items:center;justify-content:center;
  min-width:0;max-width:100%;width:100%!important;height:auto;padding:0!important;
}
body.sp-fullwidth-page .shop-menu a {
  display:flex;align-items:center;justify-content:center;
  width:100%;min-height:36px;padding:6px 8px;
  border:1px solid rgba(102,50,8,.20);border-radius:9px;
  background:rgba(255,255,255,.13);text-align:center;
}
body.sp-fullwidth-page .shop-menu a span {
  line-height:1.3;font-size:clamp(11px,1vw,14px);white-space:normal;
}
body.sp-fullwidth-page .shop-menu-table form {width:100%;min-width:0;margin:0;}
body.sp-fullwidth-page .menu-search {
  display:flex;align-items:center;justify-content:flex-end;
  width:100%;min-width:0;max-width:100%;height:auto;gap:7px;
}
body.sp-fullwidth-page .menu-search label {flex:none;font-size:12px;}
body.sp-fullwidth-page .menu-search input[type="text"] {
  width:clamp(100px,12vw,220px);min-width:0;max-width:100%;
}
body.sp-fullwidth-page .bt-menu img {
  display:block;width:100%!important;height:45px!important;max-width:100%;
  object-fit:cover;object-position:center;
}
body.sp-fullwidth-page .product-section {padding:13px 12px 18px;min-width:0;}
body.sp-fullwidth-page .section-card {min-width:0;}
body.sp-fullwidth-page .product-toolbar {
  grid-template-columns:minmax(0,1fr) auto auto;
}
body.sp-fullwidth-page .product-grid-wrap {padding:14px 10px 18px;min-width:0;}
/* Keep the whole page full-width but group 8 cards neatly, just like Public V24. */
body.sp-fullwidth-page .product-grid {
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:10px;
  width:100%;max-width:1390px;
  margin:0 auto;
  align-items:stretch;
}
body.sp-fullwidth-page .product-card {
  display:flex;flex-direction:column;
  min-width:0;min-height:0;overflow:hidden;
  border-radius:11px;
  background:#2c1b11;
}
body.sp-fullwidth-page .product-image {
  position:relative;display:block;flex:none;
  width:100%;height:auto;aspect-ratio:1/1;
  overflow:hidden;border-radius:10px 10px 0 0;background:#100904;
}
body.sp-fullwidth-page .product-image img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
}
body.sp-fullwidth-page .product-info {
  display:flex;flex-direction:column;flex:1 1 auto;
  height:130px;min-height:0;padding:7px 7px 5px;
  background:linear-gradient(180deg,#342015,#26170f);
}
body.sp-fullwidth-page .product-id-row {
  display:flex;align-items:center;flex:none;
  min-width:0;min-height:21px;margin:0 0 4px;
}
body.sp-fullwidth-page .score-icon,
body.sp-fullwidth-page .score-icon img {
  width:12px;height:12px;flex:none;max-width:12px;max-height:12px;
}
body.sp-fullwidth-page .score-icon {margin-right:4px;}
body.sp-fullwidth-page .product-code {
  max-width:calc(100% - 17px);min-width:0;
  padding:2px 3px;border-radius:4px;background:transparent;
  font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
body.sp-fullwidth-page .product-name {
  display:block;flex:none;height:49px;max-height:none;min-width:0;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#a57838 transparent;
  font:600 12px/1.45 Tahoma,Arial,sans-serif;
  overflow-wrap:anywhere;word-break:normal;
}
body.sp-fullwidth-page .cn-detail {
  flex:1 1 0;min-height:0;height:auto;margin-top:4px;
  overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;
  scrollbar-color:#8a683e transparent;
  font-size:10px;line-height:1.35;overflow-wrap:anywhere;
}
body.sp-fullwidth-page .product-footer {
  display:flex;flex:none;flex-wrap:nowrap;
  justify-content:space-between;align-items:center;min-width:0;
  gap:4px;padding:6px 7px;background:#241a14;
  border-radius:0 0 10px 10px;
}
body.sp-fullwidth-page .status-line {
  flex:1 1 auto;min-width:0;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:10.5px;line-height:1.4;
}
body.sp-fullwidth-page .status-line .status {white-space:nowrap;}
body.sp-fullwidth-page .view-line {
  display:inline-flex;flex:none;align-items:center;justify-content:flex-end;
  gap:3px;min-width:0;white-space:nowrap;font-size:10px;
  font-variant-numeric:tabular-nums;
}
body.sp-fullwidth-page .view-line img {
  display:block;flex:none;width:14px!important;height:9px!important;
  max-width:14px;max-height:9px;margin:0;
}
body.sp-fullwidth-page .score-popover {max-width:calc(100vw - 28px);}
body.sp-fullwidth-page .product-name:focus-visible,
body.sp-fullwidth-page .product-image:focus-visible {outline:2px solid #f3c974;outline-offset:-2px;}
body.sp-fullwidth-page .shop-shell > tbody > tr:last-child > td img {max-width:100%;height:auto;}
@media(max-width:1199px) {
 body.sp-fullwidth-page .shop-menu-table > tbody > tr {
   grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;
 }
 body.sp-fullwidth-page .shop-menu-table > tbody > tr > td:last-child {grid-column:1/-1;}
 body.sp-fullwidth-page .menu-search {justify-content:center;}
}
@media(max-width:1023px) {
 body.sp-fullwidth-page .product-grid {grid-template-columns:repeat(6,minmax(0,1fr));}
}
@media(max-width:849px) {
 body.sp-fullwidth-page .product-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
 body.sp-fullwidth-page .product-grid-wrap {padding:9px 7px 15px;}
 body.sp-fullwidth-page .product-section {padding:8px 7px 13px;}
 body.sp-fullwidth-page .product-card:hover {transform:none;}
 body.sp-fullwidth-page .product-info {height:106px;padding:5px 5px 4px;}
 body.sp-fullwidth-page .product-name {height:43px;font-size:10.5px;line-height:1.33;}
 body.sp-fullwidth-page .cn-detail {font-size:9px;line-height:1.3;}
 body.sp-fullwidth-page .product-footer {padding:5px;}
 body.sp-fullwidth-page .product-code {font-size:10px;}
 body.sp-fullwidth-page .product-toolbar {grid-template-columns:1fr;gap:7px;}
 body.sp-fullwidth-page .product-toolbar .status-select {width:100%;max-width:100%;}
 body.sp-fullwidth-page .product-toolbar > span:last-child {display:flex;gap:7px;}
 body.sp-fullwidth-page .product-toolbar .filter-btn,
 body.sp-fullwidth-page .product-toolbar .clear-filter-btn {width:auto;flex:1;}
 body.sp-fullwidth-page .score-popover {display:none!important;}
}
@media(max-width:600px) {
 body.sp-fullwidth-page .shop-shell {width:calc(100% - 12px)!important;margin:0 6px!important;}
 body.sp-fullwidth-page .shop-head-img,
 body.sp-fullwidth-page .shop-head-object {max-height:180px;}
 body.sp-fullwidth-page .shop-menu-table > tbody > tr {gap:4px;padding:6px;}
 body.sp-fullwidth-page .shop-menu a {padding:5px 3px;min-height:38px;}
 body.sp-fullwidth-page .shop-menu a span {font-size:10px;line-height:1.28;}
 body.sp-fullwidth-page .menu-search {gap:5px;}
 body.sp-fullwidth-page .menu-search label {font-size:10px;}
 body.sp-fullwidth-page .menu-search input[type="text"] {width:auto;flex:1;min-width:0;}
 body.sp-fullwidth-page .bt-menu img {height:28px!important;}
 body.sp-fullwidth-page .section-hero {padding:11px 11px;}
 body.sp-fullwidth-page .section-badge {font-size:10px;padding:4px 8px;}
 body.sp-fullwidth-page .section-title {font-size:17px;line-height:1.4;overflow-wrap:anywhere;}
 body.sp-fullwidth-page .section-subtitle {font-size:10px;line-height:1.5;}
 body.sp-fullwidth-page .product-grid {gap:4px;}
 body.sp-fullwidth-page .product-grid-wrap {padding:7px 5px 11px;}
 body.sp-fullwidth-page .product-section {padding:7px 5px 10px;}
 body.sp-fullwidth-page .product-info {height:90px;padding:4px 3px 3px;}
 body.sp-fullwidth-page .product-id-row {min-height:15px;margin:0 0 3px;}
 body.sp-fullwidth-page .score-icon,
 body.sp-fullwidth-page .score-icon img {width:9px!important;height:9px!important;max-width:9px!important;max-height:9px!important;}
 body.sp-fullwidth-page .score-icon {margin-right:2px;}
 body.sp-fullwidth-page .product-code {padding:0;font-size:9px;line-height:1.3;}
 body.sp-fullwidth-page .product-name {height:41px;font-size:9.3px;line-height:1.24;}
 body.sp-fullwidth-page .cn-detail {font-size:8px;line-height:1.2;margin-top:2px;}
 body.sp-fullwidth-page .product-footer {flex-wrap:wrap;padding:4px 3px;gap:1px;min-height:27px;}
 body.sp-fullwidth-page .status-line {flex:1 1 100%;font-size:9px;line-height:1.2;}
 body.sp-fullwidth-page .view-line {flex:1 1 100%;justify-content:flex-end;font-size:9px;line-height:1.15;}
 body.sp-fullwidth-page .view-line img {width:11px!important;height:7px!important;max-width:11px;max-height:7px;}
 body.sp-fullwidth-page .pagination {padding:11px 0 3px;}
 body.sp-fullwidth-page .pagination a,
 body.sp-fullwidth-page .pagination strong,
 body.sp-fullwidth-page .pagination span {padding:5px 7px;margin:2px;font-size:11px;}
}
@media(max-width:350px) {
 body.sp-fullwidth-page .shop-menu a span {font-size:9px;}
 body.sp-fullwidth-page .product-info {height:87px;}
 body.sp-fullwidth-page .product-name {height:39px;font-size:9px;}
 body.sp-fullwidth-page .product-code {font-size:8.5px;}
}
@media(prefers-reduced-motion:reduce) {
 body.sp-fullwidth-page .product-card,
 body.sp-fullwidth-page .product-image img {transition:none;}
}
