/* Wijaya Toys product storefront refinement */
.products-page,.product-detail-page,.commerce-page{padding:42px 0 70px}.products-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.eyebrow{font-size:15px;letter-spacing:.16em;font-weight:800;color:#e85d04;margin-bottom:8px}.products-heading h1,.product-detail-info h1,.commerce-page h1{margin:0;color:#14233b}.products-heading p{margin:10px 0 0;color:#617084}.products-count{font-size:14px;color:#68768a;font-weight:700;white-space:nowrap}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{background:#fff;border:1px solid #e1e7ee;border-radius:10px;overflow:hidden;box-shadow:0 5px 18px rgba(20,35,59,.06);display:flex;flex-direction:column;min-width:0}.product-card:hover{box-shadow:0 10px 28px rgba(20,35,59,.11);transform:translateY(-2px);transition:.18s ease}.product-card-image{display:block;aspect-ratio:1/1;background:#f7f9fb;border-bottom:1px solid #e8edf2;overflow:hidden}.product-card-image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .2s ease}.product-card:hover .product-card-image img{transform:scale(1.025)}.product-image-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#9aa7b8;font-weight:800;letter-spacing:.08em}.product-image-placeholder.large{min-height:500px}.product-card-body{padding:17px;display:flex;flex-direction:column;flex:1}.product-brand{font-size:13px;font-weight:800;color:#e85d04;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.product-brand.large-brand{font-size:15px}.product-card h2{font-size:17px;line-height:1.38;margin:0 0 8px;color:#14233b}.product-card h2 a{color:inherit;text-decoration:none}.product-card h2 a:hover{color:#e3262e}.product-sku{font-size:12.5px;color:#7b8797;margin-bottom:12px}.product-price{font-size:19px;font-weight:800;color:#14233b;margin-top:auto;padding-top:8px}.product-stock{font-size:13px;font-weight:700;margin-top:8px}.in-stock{color:#16803c}.out-stock{color:#a05a00}.product-card-actions{display:flex;gap:8px;margin-top:15px;align-items:stretch}.product-card-actions .button{flex:1;min-width:0}.inline-action{display:flex;flex:1}.inline-action .button{width:100%}.button-primary,.button-cart,.button-secondary,.button-wishlist{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:800;box-sizing:border-box;cursor:pointer}.button-primary{background:#14233b;color:#fff;border:1px solid #14233b}.button-primary:hover{background:#203957}.button-cart{background:#e3262e;color:#fff;border:1px solid #e3262e}.button-cart:hover{background:#c91e25}.button-secondary{background:#fff;color:#526174;border:1px solid #cfd7e1}.button-secondary:hover{background:#f5f7fa}.wishlist-form{margin-top:8px}.wishlist-button{width:100%;border:1px solid #d8dee6;background:#fff;color:#526174;border-radius:6px;min-height:38px;font-size:13px;font-weight:700;cursor:pointer}.wishlist-button:hover{border-color:#e3262e;color:#e3262e;background:#fff7f7}.product-detail-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:48px;align-items:start}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;color:#748196;font-size:14px}.breadcrumbs a{color:#526174;text-decoration:none}.breadcrumbs a:hover{color:#e3262e}.product-main-image{background:#fff;border:1px solid #e1e7ee;border-radius:10px;min-height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-main-image img{width:100%;height:520px;object-fit:contain;display:block}.product-thumbnails{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.product-thumb{width:78px;height:78px;padding:4px;border:1px solid #dce3ea;border-radius:7px;background:#fff;cursor:pointer}.product-thumb.active{border:2px solid #e3262e}.product-thumb img{width:100%;height:100%;object-fit:contain}.product-detail-info{padding:8px 0}.product-detail-info h1{font-size:34px;line-height:1.18;margin-bottom:16px}.detail-price{font-size:30px;font-weight:850;color:#e3262e;margin:18px 0}.detail-meta{display:flex;gap:20px;flex-wrap:wrap;color:#68768a;font-size:14px;padding:14px 0;border-top:1px solid #e6ebf0;border-bottom:1px solid #e6ebf0}.detail-meta strong{color:#14233b}.detail-stock{margin:16px 0;font-size:15px}.detail-actions{display:flex;flex-direction:column;gap:10px}.detail-actions form{display:flex;gap:10px}.quantity-row{display:flex;align-items:center;gap:10px}.quantity-row label{font-weight:700;color:#14233b}.quantity-row input{width:76px;height:44px;border:1px solid #cfd7e1;border-radius:6px;padding:0 10px;font:inherit}.button-large{min-height:48px;font-size:15px}.detail-actions .button{flex:1}.button-wishlist{background:#fff;color:#14233b;border:1px solid #cfd7e1}.button-wishlist:hover{border-color:#e3262e;color:#e3262e}.purchase-note{margin-top:18px;background:#f3f8fd;border:1px solid #dcebf8;border-radius:8px;padding:14px 16px;display:flex;gap:16px;flex-wrap:wrap;color:#526174;font-size:14px}.purchase-note strong{color:#16803c}.product-description-section{margin-top:56px;border:1px solid #e1e7ee;border-radius:10px;background:#fff;overflow:hidden}.description-tabs{border-bottom:1px solid #e1e7ee;padding:0 24px}.description-tabs span{display:inline-flex;padding:18px 4px 14px;border-bottom:3px solid #e3262e;font-weight:800;color:#14233b}.product-description{padding:28px 30px;color:#38485c;font-size:16px;line-height:1.75}.rich-content p{margin:0 0 18px}.rich-content h2,.rich-content h3,.rich-content h4{color:#14233b;margin:28px 0 12px;line-height:1.3}.rich-content ul,.rich-content ol{padding-left:25px;margin:10px 0 20px}.rich-content li{margin:6px 0}.rich-content table{width:100%;border-collapse:collapse;margin:20px 0}.rich-content th,.rich-content td{border:1px solid #dfe5eb;padding:10px 12px;text-align:left}.rich-content th{background:#f5f8fb;color:#14233b}.rich-content a{color:#d51f27}.rich-content img{max-width:100%;height:auto;border-radius:6px}.commerce-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.commerce-items{display:flex;flex-direction:column;gap:14px}.commerce-item{display:flex;gap:18px;border:1px solid #e1e7ee;border-radius:10px;background:#fff;padding:15px}.commerce-item-image{width:130px;height:130px;flex:0 0 130px;background:#f7f9fb;border-radius:7px;display:flex;align-items:center;justify-content:center;overflow:hidden}.commerce-item-image img{width:100%;height:100%;object-fit:contain}.commerce-item-body{min-width:0}.commerce-item-body h2{font-size:18px;margin:0 0 8px}.commerce-item-body h2 a{color:#14233b;text-decoration:none}.commerce-item-body p{font-size:13px;color:#788596;margin:0 0 10px}.commerce-item-body strong{font-size:17px;color:#14233b}.text-button{border:0;background:none;color:#d51f27;font-weight:700;padding:6px 0;cursor:pointer}.order-summary{border:1px solid #e1e7ee;border-radius:10px;background:#fff;padding:22px;position:sticky;top:20px}.order-summary h2{margin:0 0 18px;color:#14233b}.order-summary>div{display:flex;justify-content:space-between;padding:9px 0;color:#667487}.order-summary .summary-total{border-top:1px solid #e1e7ee;margin-top:8px;padding-top:16px;font-size:18px;color:#14233b}.order-summary p{font-size:13px;color:#718096;line-height:1.5}.order-summary .button{width:100%;margin-top:10px}.empty-state{text-align:center;border:1px solid #e1e7ee;border-radius:10px;background:#fff;padding:60px 24px}.empty-state h2{margin-top:0;color:#14233b}.empty-state p{color:#68768a;margin-bottom:22px}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-detail-layout{gap:30px}}
@media(max-width:850px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail-layout,.commerce-layout{grid-template-columns:1fr}.order-summary{position:static}.product-main-image{min-height:420px}.product-main-image img{height:420px}}
@media(max-width:600px){.products-page,.product-detail-page,.commerce-page{padding:28px 0 50px}.products-heading{display:block}.products-count{margin-top:10px}.product-grid{grid-template-columns:1fr;gap:16px}.product-card-actions{flex-direction:column}.product-detail-info h1{font-size:27px}.detail-price{font-size:25px}.product-main-image{min-height:320px}.product-main-image img{height:320px}.product-description{padding:20px;font-size:16px}.commerce-item{gap:12px}.commerce-item-image{width:90px;height:90px;flex-basis:90px}.commerce-item-body h2{font-size:16px}}

/* Wijaya Toys catalog layout - 15 products per page */
.products-catalog-page{padding-top:30px}.catalog-breadcrumbs{display:flex;gap:8px;align-items:center;color:#7b8797;font-size:13px;margin:0 0 20px}.catalog-breadcrumbs a{color:#526174;text-decoration:none}.catalog-breadcrumbs a:hover{color:#e3262e}.catalog-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:26px;align-items:start}.catalog-sidebar{min-width:0}.filter-box{background:#fff;border:1px solid #dfe5eb;border-radius:6px;overflow:hidden;position:sticky;top:18px}.filter-title{background:#14233b;color:#fff;padding:14px 16px;font-size:14px;font-weight:800;letter-spacing:.06em}.filter-group{padding:15px 16px;border-bottom:1px solid #e8edf2}.filter-group h2{font-size:14px;margin:0 0 10px;color:#14233b}.filter-group input,.filter-group select{width:100%;height:38px;padding:0 9px;border:1px solid #cfd7e1;border-radius:4px;background:#fff;color:#526174;font:inherit;font-size:13px;box-sizing:border-box}.filter-apply{margin:15px 16px 9px;width:calc(100% - 32px);height:40px;border:0;border-radius:4px;background:#e3262e;color:#fff;font-weight:800;cursor:pointer}.filter-apply:hover{background:#c91e25}.filter-clear{display:block;text-align:center;margin:0 16px 15px;color:#667487;font-size:13px;text-decoration:none}.filter-clear:hover{color:#e3262e}.catalog-results{min-width:0}.catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:14px;border-bottom:1px solid #dfe5eb;margin-bottom:16px}.catalog-heading .eyebrow{margin-bottom:5px}.catalog-heading h1{font-size:28px;line-height:1.2;margin:0;color:#14233b}.catalog-heading p{margin:7px 0 0;color:#718096;font-size:14px}.sort-form{display:flex;align-items:center;gap:8px;white-space:nowrap}.sort-form label{font-size:13px;color:#68768a}.sort-form select{height:38px;min-width:145px;border:1px solid #cfd7e1;border-radius:4px;background:#fff;padding:0 9px;color:#526174;font:inherit;font-size:13px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px}.catalog-card{background:#fff;border:1px solid #e1e7ee;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:box-shadow .16s ease,transform .16s ease}.catalog-card:hover{box-shadow:0 8px 22px rgba(20,35,59,.1);transform:translateY(-2px)}.catalog-card-image{display:block;aspect-ratio:1/1;background:#fff;border-bottom:1px solid #edf0f3;overflow:hidden}.catalog-card-image img{width:100%;height:100%;object-fit:contain;display:block}.catalog-card-body{padding:12px 13px 13px;display:flex;flex-direction:column;flex:1}.catalog-brand{font-size:11px;font-weight:800;color:#e85d04;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.catalog-card h2{font-size:14px;line-height:1.35;margin:0 0 8px;min-height:38px;color:#14233b}.catalog-card h2 a{color:inherit;text-decoration:none}.catalog-card h2 a:hover{color:#e3262e}.catalog-price{font-size:16px;font-weight:800;color:#14233b;margin-top:auto}.catalog-stock{font-size:12px;font-weight:700;margin-top:5px}.catalog-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.catalog-actions a,.catalog-actions button{height:37px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;font-weight:800;box-sizing:border-box;cursor:pointer;text-decoration:none}.catalog-view{border:1px solid #14233b;background:#14233b;color:#fff}.catalog-view:hover{background:#203957}.catalog-actions form{margin:0}.catalog-cart{width:100%;border:1px solid #e3262e;background:#e3262e;color:#fff}.catalog-cart:hover{background:#c91e25}.catalog-wishlist{margin-top:7px}.catalog-wishlist button{width:100%;height:34px;border:1px solid #d8dee6;background:#fff;color:#667487;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer}.catalog-wishlist button:hover{border-color:#e3262e;color:#e3262e;background:#fff8f8}.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:30px;padding-top:20px;border-top:1px solid #e1e7ee;flex-wrap:wrap}.catalog-pagination a,.catalog-pagination span{min-width:38px;height:38px;padding:0 10px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfd7e1;border-radius:4px;background:#fff;color:#526174;text-decoration:none;font-size:13px;font-weight:700}.catalog-pagination a:hover{border-color:#e3262e;color:#e3262e}.catalog-pagination a.active{background:#e3262e;border-color:#e3262e;color:#fff}.catalog-pagination .page-prev,.catalog-pagination .page-next{padding:0 14px}.catalog-pagination .disabled{color:#a8b1bd;background:#f7f9fb;cursor:not-allowed}.catalog-pagination .page-ellipsis{border-color:transparent;background:transparent;min-width:20px;padding:0}.catalog-pagination .page-ellipsis:hover{color:#526174}
@media(max-width:1000px){.catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:18px}.catalog-grid{gap:14px 12px}.catalog-card-body{padding:11px}.catalog-card h2{font-size:13.5px}.catalog-actions{grid-template-columns:1fr}.catalog-cart{min-height:37px}}
@media(max-width:800px){.catalog-layout{grid-template-columns:1fr}.filter-box{position:static}.filter-box form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.filter-title{grid-column:1/-1}.filter-group{padding:12px 14px}.filter-group:first-of-type{grid-column:1/-1}.filter-apply{margin:12px 0 12px 14px;width:calc(100% - 7px)}.filter-clear{margin:0 14px 12px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-heading{align-items:center}.sort-form{margin-left:auto}}
@media(max-width:620px){.catalog-heading{display:block}.sort-form{margin-top:14px;justify-content:space-between}.sort-form select{flex:1}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-card h2{font-size:13px;min-height:35px}.catalog-price{font-size:15px}.catalog-actions{grid-template-columns:1fr}.catalog-wishlist button{font-size:11.5px}.catalog-pagination{gap:4px}.catalog-pagination a,.catalog-pagination span{min-width:34px;height:36px;padding:0 8px}.catalog-pagination .page-prev,.catalog-pagination .page-next{padding:0 10px}}
@media(max-width:390px){.catalog-grid{grid-template-columns:1fr}.filter-box form{display:block}.filter-group{border-bottom:1px solid #e8edf2}.filter-apply{width:calc(100% - 28px);margin:14px}.filter-clear{margin:0 14px 14px}}

/* Wijaya Toys: wishlist and compare image overlay */
.catalog-card-image-wrap {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid #edf0f3;
}
.catalog-card-image-wrap > .catalog-card-image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border: 0;
}
.catalog-card-image-wrap > .catalog-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.catalog-image-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 12px;
  background: rgba(20, 35, 59, .16);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}
.catalog-image-overlay form {
  margin: 0;
  width: min(190px, 100%);
}
.catalog-image-overlay button {
  width: 100%;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid #14233b;
  border-radius: 4px;
  background: #14233b;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .12);
}
.catalog-image-overlay .catalog-compare-button {
  background: #e3262e;
  border-color: #e3262e;
}
.catalog-image-overlay button:hover {
  filter: brightness(.92);
}
.catalog-card-image-wrap:hover .catalog-image-overlay,
.catalog-card-image-wrap:focus-within .catalog-image-overlay {
  opacity: 1;
  visibility: visible;
}
.catalog-card .catalog-card-body > .catalog-wishlist,
.catalog-card .catalog-card-body > .catalog-compare {
  display: none;
}
@media (hover: none), (max-width: 620px) {
  .catalog-image-overlay {
    inset: auto 0 0;
    flex-direction: row;
    align-items: end;
    padding: 10px;
    background: linear-gradient(transparent, rgba(20, 35, 59, .35));
    opacity: 1;
    visibility: visible;
  }
  .catalog-image-overlay form {
    width: auto;
    flex: 1;
    min-width: 0;
  }
  .catalog-image-overlay button {
    min-height: 36px;
    padding: 8px 5px;
    font-size: 11px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-image-overlay { transition: none; }
}


/* Wijaya Toys: mobile compact wishlist and compare icons */
@media (hover: none), (max-width: 620px) {
  .catalog-image-overlay {
    inset: 10px 10px auto auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 8px;
    padding: 0;
    background: transparent;
    opacity: 1;
    visibility: visible;
  }

  .catalog-image-overlay form {
    width: auto;
    flex: 0 0 auto;
    min-width: 0;
    margin: 0;
  }

  .catalog-image-overlay button {
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dce2ea;
    border-radius: 50%;
    background: #fff;
    color: #14233b;
    font-size: 0;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(20,35,59,.18);
  }

  .catalog-image-overlay form:first-child button::before {
    content: "♡";
    font-size: 25px;
  }

  .catalog-image-overlay .catalog-compare-button {
    background: #e3262e;
    color: #fff;
    border-color: #e3262e;
  }

  .catalog-image-overlay .catalog-compare-button::before {
    content: "⇄";
    font-size: 22px;
  }
}


/* Accessible labels for controls that already have visible headings */
.accessibility-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
