/* Product listing styles only. Shared header/footer styles intentionally excluded. */
.product-listing-page{

    --ink:#0A1B2E; --ink-soft:#4A5D66;

    --teal:#0E6E66; --teal-deep:#0A4F49;

    --coral:#FF5A36; --coral-deep:#E0431F;

    --verified:#2E9E63;

    --paper:#FDFDFB; --mist:#EEF3F1; --line:#DCE3E0; --white:#FFFFFF;

    --display:'Space Grotesk',sans-serif; --body:'IBM Plex Sans',sans-serif; --mono:'IBM Plex Mono',monospace;

    --maxw:1320px;

  }.product-listing-page *{ box-sizing:border-box; margin:0; padding:0; }.product-listing-page img{ max-width:100%; display:block; }.product-listing-page a{ color:inherit; text-decoration:none; }.product-listing-page ul{ list-style:none; }.product-listing-page button{ font-family:inherit; cursor:pointer; }.product-listing-page .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }.product-listing-page h1,
.product-listing-page h2,
.product-listing-page h3{ font-family:var(--display); font-weight:600; letter-spacing:-0.01em; color:var(--ink); }.product-listing-page .eyebrow{ font-family:var(--mono); font-size:12px; letter-spacing:.13em; text-transform:uppercase; color:var(--teal); display:inline-flex; align-items:center; gap:8px; }.product-listing-page .eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--coral); box-shadow:0 0 0 4px rgba(255,90,54,.15); }.product-listing-page .btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:600; font-size:14px; padding:11px 20px; border-radius:8px; border:1.5px solid transparent; transition:.15s ease; white-space:nowrap; }.product-listing-page .btn-coral{ background:var(--coral); color:#fff; box-shadow:0 8px 18px -8px rgba(255,90,54,.55); }.product-listing-page .btn-coral:hover{ background:var(--coral-deep); }.product-listing-page .btn-ink{ background:var(--ink); color:#fff; }.product-listing-page .btn-ink:hover{ background:#132a45; }.product-listing-page .btn-outline{ border-color:rgba(255,255,255,.35); color:#fff; }.product-listing-page .btn-outline:hover{ border-color:#fff; background:rgba(255,255,255,.08); }.product-listing-page .btn-ghost{ border-color:var(--line); background:#fff; color:var(--ink); }.product-listing-page .btn-ghost:hover{ border-color:var(--ink); }.product-listing-page /* ---------- HEADER (shared) ---------- */

  header{ position:sticky; top:0; z-index:60; background:rgba(253,253,251,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }.product-listing-page /* ---------- PAGE HEAD ---------- */

  .page-head{ background:linear-gradient(180deg,var(--ink) 0%, #0d2340 100%); color:#fff; padding:40px 0 34px; }.product-listing-page .page-head h1{ color:#fff; font-size:clamp(26px,3.2vw,36px); margin-top:12px; }.product-listing-page .page-head p{ color:rgba(255,255,255,.68); font-size:15px; margin-top:10px; max-width:560px; }.product-listing-page .search-row{ display:flex; gap:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:10px; padding:6px; max-width:560px; margin-top:22px; }.product-listing-page .search-row input{ flex:1; background:transparent; border:none; outline:none; color:#fff; font-size:14.5px; padding:10px 12px; }.product-listing-page .search-row input::placeholder{ color:rgba(255,255,255,.45); }.product-listing-page /* ---------- PROMO STRIP ---------- */

  .promo-strip{ padding:28px 0; }.product-listing-page .promo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }.product-listing-page .promo-card{

    position:relative; border-radius:16px; overflow:hidden; min-height:190px;

    display:flex; align-items:flex-end; padding:26px; color:#fff;

  }.product-listing-page .promo-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }.product-listing-page .promo-card::before{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,27,46,.88) 10%, rgba(10,27,46,.25) 70%); z-index:1; }.product-listing-page .promo-body{ position:relative; z-index:2; max-width:360px; }.product-listing-page .promo-tag{ font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#8fd6cf; }.product-listing-page .promo-body h3{ color:#fff; font-size:19px; margin:8px 0 10px; line-height:1.25; }.product-listing-page .promo-actions{ display:flex; gap:10px; }.product-listing-page .promo-actions .btn{ padding:9px 16px; font-size:13px; }.product-listing-page /* ---------- LAYOUT ---------- */

  .listing{ padding:36px 0 80px; }.product-listing-page .listing-grid{ display:grid; grid-template-columns:264px 1fr; gap:32px; align-items:start; }.product-listing-page /* filters */

  .filters{

    background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px;

    position:sticky; top:88px;

  }.product-listing-page .filters-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }.product-listing-page .filters-head h2{ font-size:15px; }.product-listing-page .filters-clear{ font-size:12.5px; font-weight:600; color:var(--teal); }.product-listing-page .filters-count{ font-family:var(--mono); font-size:12px; color:var(--ink-soft); margin-bottom:18px; }.product-listing-page .filter-group{ border-top:1px solid var(--line); padding:16px 0; }.product-listing-page .filter-group:first-of-type{ border-top:none; padding-top:0; }.product-listing-page .filter-group h3{ font-size:13px; font-weight:600; margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; }.product-listing-page .filter-group h3 svg{ color:var(--ink-soft); transition:transform .15s ease; }.product-listing-page .filter-option{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 0; font-size:13.5px; color:var(--ink-soft); cursor:pointer; }.product-listing-page .filter-option:hover{ color:var(--ink); }.product-listing-page .filter-option-left{ display:flex; align-items:center; gap:9px; }.product-listing-page .filter-option input[type="checkbox"],
.product-listing-page .filter-option input[type="radio"]{ width:15px; height:15px; accent-color:var(--teal); }.product-listing-page .filter-option .count{ font-family:var(--mono); font-size:11px; color:#9AA6AA; }.product-listing-page .cert-badge-swatch{ width:16px; height:16px; border-radius:4px; background:var(--mist); display:flex; align-items:center; justify-content:center; color:var(--teal); flex:0 0 auto; }.product-listing-page /* results header */

  .results-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px; }.product-listing-page .results-count{ font-size:14.5px; color:var(--ink-soft); }.product-listing-page .results-count b{ color:var(--ink); }.product-listing-page .sort-row{ display:flex; align-items:center; gap:10px; }.product-listing-page .sort-row label{ font-size:13px; color:var(--ink-soft); }.product-listing-page .sort-row select{

    font-family:var(--body); font-size:13.5px; color:var(--ink); border:1.5px solid var(--line); border-radius:8px;

    padding:8px 32px 8px 12px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5D66' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/14px; appearance:none; outline:none;

  }.product-listing-page /* product grid */

  .product-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.product-listing-page .product-card{

    background:#fff; border:1px solid var(--line); border-radius:13px; overflow:hidden;

    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; display:flex; flex-direction:column;

  }.product-listing-page .product-card:hover{ transform:translateY(-4px); box-shadow:0 18px 32px -18px rgba(10,27,46,.28); border-color:var(--teal); }.product-listing-page .product-media{ position:relative; height:168px; background:var(--mist); display:flex; align-items:center; justify-content:center; }.product-listing-page .product-media img{ height:100%; width:100%; object-fit:contain; padding:16px; }.product-listing-page .product-media .cat-icon-badge{ width:52px; height:52px; border-radius:14px; background:#fff; color:var(--teal); display:flex; align-items:center; justify-content:center; border:1px solid var(--line); }.product-listing-page .media-tag{ position:absolute; top:10px; left:10px; font-family:var(--mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; background:var(--ink); color:#fff; padding:5px 9px; border-radius:6px; }.product-listing-page .media-stock{ position:absolute; top:10px; right:10px; font-family:var(--mono); font-size:10px; letter-spacing:.04em; text-transform:uppercase; background:rgba(46,158,99,.12); color:var(--verified); padding:5px 9px; border-radius:6px; border:1px solid rgba(46,158,99,.3); }.product-listing-page .product-body{ padding:15px 16px 17px; display:flex; flex-direction:column; gap:9px; flex:1; }.product-listing-page .product-title{ font-size:14.5px; font-weight:600; line-height:1.32; min-height:38px; }.product-listing-page .product-meta{ font-size:12.5px; color:var(--ink-soft); display:flex; flex-direction:column; gap:3px; }.product-listing-page .product-meta span b{ color:var(--ink); font-weight:600; }.product-listing-page .cert-row{ display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; }.product-listing-page .cert-chip{ font-family:var(--mono); font-size:10px; color:var(--teal-deep); background:var(--mist); padding:4px 8px; border-radius:5px; }.product-listing-page .product-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:10px; border-top:1px solid var(--line); }.product-listing-page .country-flag{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-soft); }.product-listing-page .country-flag img{ width:16px; height:11px; object-fit:cover; border-radius:2px; }.product-listing-page .product-link{ font-size:12.5px; font-weight:600; color:var(--teal); }.product-listing-page .load-more-wrap{ display:flex; justify-content:center; margin-top:36px; }



  @media (max-width:980px){.product-listing-page .promo-grid{ grid-template-columns:1fr; }.product-listing-page .listing-grid{ grid-template-columns:1fr; }.product-listing-page .filters{ position:static; }.product-listing-page .product-grid{ grid-template-columns:repeat(2,1fr); }

  }

  @media (max-width:560px){.product-listing-page .wrap{ padding:0 20px; }.product-listing-page .product-grid{ grid-template-columns:1fr; }.product-listing-page .results-head{ flex-direction:column; align-items:flex-start; }

  }.product-listing-page /* Sidebar option search: append to public/website/css/product.css */

.filters .sidebar-filter-search{

    display: block;

    width: 100%;

    height: 40px;

    margin: 12px 0 14px;

    padding: 0 12px;

    border: 1px solid #e0e6eb;

    border-radius: 9px;

    background: #fff;

    color: #263746;

    font: inherit;

    font-size: 13px;

    outline: none;

    transition: border-color .2s ease, box-shadow .2s ease;

}.product-listing-page .filters .sidebar-filter-search::placeholder{ color: #98a4ae; }.product-listing-page .filters .sidebar-filter-search:focus{ border-color: #f76631; box-shadow: 0 0 0 3px rgba(247,102,49,.12); }.product-listing-page .filters .sidebar-filter-options{ display: grid; gap: 2px; }.product-listing-page .filters .sidebar-filter-options .filter-option[style*="display: none"]{ display: none !important; }