  .breadcrumb{
    max-width:1240px;margin:0 auto;padding:18px 24px 0;
    font-size:.82rem;color:var(--muted);
  }
  .breadcrumb a{text-decoration:none;color:var(--muted);}
  .breadcrumb a:hover{color:var(--leather);}

  /* ============ PRODUCT HERO ============ */
  .product-hero{
    max-width:1240px;margin:0 auto;padding:24px 24px 40px;
    display:grid;grid-template-columns:1.05fr 1fr;gap:48px;
  }
  @media (max-width:900px){.product-hero{grid-template-columns:1fr;}}

  /* ---- gallery / jersey preview ---- */
  .gallery{display:flex;flex-direction:column;gap:14px;}
  .jersey-preview{
    background:var(--card);
    border:1px solid var(--mist);
    border-radius:18px;
    display:flex;align-items:center;justify-content:center;
    padding:28px;
    aspect-ratio:4/4.6;
    position:relative;
    overflow:hidden;
  }
  .jersey-preview::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 50% 18%, rgba(214,162,74,.10), transparent 55%);
  }
  #jerseySvg{width:78%;max-width:340px;transition:filter .2s;}
  .jersey-fill{fill:var(--jersey-fill);transition:fill .35s ease;}
  .jersey-trim{fill:var(--foil);}
  .jersey-text{fill:var(--jersey-text);font-family:var(--display);transition:fill .35s ease;}
  .badge-foil{
    position:absolute;top:16px;left:16px;
    background:var(--foil);color:var(--pitch-deep);
    font-family:var(--mono);font-size:.72rem;font-weight:700;
    padding:5px 10px;border-radius:6px;letter-spacing:.05em;
    text-transform:uppercase;
  }
  .thumbnails{display:flex;gap:10px;}
  .thumb{
    flex:1;aspect-ratio:1/1;border-radius:10px;
    border:1px solid var(--mist);background:var(--card);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:border-color .15s, transform .15s;
    font-family:var(--mono);font-size:.7rem;color:var(--muted);
    text-align:center;padding:4px;
  }
  .thumb.active,.thumb:hover{border-color:var(--leather);color:var(--leather);transform:translateY(-2px);}

  /* ---- product info ---- */
  .product-info{display:flex;flex-direction:column;gap:14px;}
  .eyebrow{
    font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;
    color:var(--leather);text-transform:uppercase;
  }
  h1{
    font-family:var(--display);
    font-weight:400;
    font-size:clamp(1.7rem,3vw,2.5rem);
    letter-spacing:.01em;
    margin:0;text-transform:uppercase;line-height:1.1;
  }
  .rating{font-size:.9rem;color:var(--muted);}
  .rating .stars{color:var(--foil);letter-spacing:1px;}

  .price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
  .price{font-family:var(--mono);font-size:1.9rem;font-weight:700;color:var(--pitch);}
  .mrp{font-family:var(--mono);font-size:1.05rem;color:var(--muted);text-decoration:line-through;}
  .off{
    font-family:var(--mono);font-size:.78rem;font-weight:700;
    background:var(--leather);color:#fff;padding:3px 8px;border-radius:5px;
  }

  .desc{color:var(--muted);font-size:.96rem !important;max-width:46ch;}

  .option-group{display:flex;flex-direction:column;gap:8px;}
  .option-label{
    font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;
    text-transform:uppercase;color:var(--muted);
    display:flex;justify-content:space-between;align-items:baseline;
  }
  .swatches{display:flex;gap:10px;}
  .swatch{
    width:34px;height:34px;border-radius:50%;
    border:2px solid var(--card);outline:1px solid var(--mist);
    cursor:pointer;transition:transform .15s, outline-color .15s;
    padding:0;
  }
  .swatch.active{outline:2px solid var(--leather);transform:scale(1.12);}
  .swatch:focus-visible{outline:2px solid var(--leather);}

  .sizes{display:flex;gap:8px;flex-wrap:wrap;}
  .size-btn{
    min-width:46px;padding:9px 6px;border-radius:8px;
    border:1px solid var(--mist);background:var(--card);
    font-family:var(--mono);font-size:.85rem;cursor:pointer;
    transition:all .15s;
  }
  .size-btn.active{background:var(--pitch);color:var(--linen);border-color:var(--pitch);}
  .size-btn:hover{border-color:var(--pitch);}
  .size-link{
    font-family:var(--mono);font-size:.75rem;color:var(--leather);
    text-decoration:none;border-bottom:1px dashed var(--leather);
  }

  .custom-inputs{display:flex;gap:10px;flex-wrap:wrap;}
  .custom-inputs input{
    font-family:var(--mono);
    border:1px solid var(--mist);border-radius:8px;
    padding:9px 12px;background:var(--card);
    font-size:.85rem;text-transform:uppercase;
  }
  .custom-inputs input#jerseyNameInput{flex:1;min-width:140px;}
  .custom-inputs input#jerseyNumInput{width:80px;text-align:center;}

  .qty-row{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin-top:6px;}
  .stepper{
    display:flex;align-items:center;border:1px solid var(--mist);
    border-radius:10px;overflow:hidden;background:var(--card);
  }
  .stepper button{
    width:38px;height:46px;border:none;background:transparent;
    font-size:1.1rem;cursor:pointer;color:var(--pitch);
    transition:background .15s;
  }
  .stepper button:hover{background:var(--linen);}
  .stepper input{
    width:42px;border:none;text-align:center;font-family:var(--mono);
    font-size:1rem;background:transparent;
  }
  .trust-row{
    display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;
  }
  .trust-pill{
    font-family:var(--mono);font-size:.74rem;color:var(--pitch);
    background:rgba(22,56,50,.07);border:1px solid var(--mist);
    padding:6px 10px;border-radius:999px;
  }

  /* ============ TICKET DIVIDER ============ */
  .ticket-divider{
    max-width:1240px;margin:0 auto;padding:0 24px;
    display:flex;align-items:center;gap:14px;
  }
  .perf-line{
    flex:1;height:0;border-top:2px dashed var(--mist);
    position:relative;
  }
  .perf-line::before,.perf-line::after{
    content:"";position:absolute;top:-11px;width:22px;height:22px;
    background:var(--linen);border-radius:50%;border:1px solid var(--mist);
  }
  .perf-line::before{left:-11px;}
  .perf-line::after{right:-11px;}
  .ticket-label{
    font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;
    text-transform:uppercase;color:var(--pitch);
    background:var(--foil);padding:8px 16px;border-radius:999px;
    white-space:nowrap;
  }

  /* ============ BULK SECTION ============ */
  .bulk-section{max-width:1240px;margin:0 auto;padding:36px 24px 64px;}
  .bulk-head{margin-bottom:24px;}
  .bulk-head .eyebrow{margin-bottom:6px;display:block;}
  .bulk-head h2{
    font-family:var(--display);text-transform:uppercase;
    font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:400;margin:0 0 10px;
    color:var(--pitch);
  }
  .bulk-head p{color:var(--muted);}

  .stat-row{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0 8px;}
  .stat-card{
    background:var(--card);border:1px solid var(--mist);border-radius:12px;
    padding:14px 18px;min-width:150px;flex:1;
  }
  .stat-card .num{font-family:var(--mono);font-size:1.4rem;color:var(--leather);font-weight:700;}
  .stat-card .lbl{font-size:.78rem;color:var(--muted);margin-top:4px;}

  .bulk-form{
    background:var(--card);border:1px solid var(--mist);border-radius:16px;
    padding:28px;display:grid;gap:20px;
    position:relative;
  }
  .bulk-form::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
    background:repeating-linear-gradient(180deg,var(--foil) 0 14px, transparent 14px 28px);
    border-radius:16px 0 0 16px;
  }
  .form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  @media (max-width:760px){.form-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.form-grid{grid-template-columns:1fr;}}
  .field{display:flex;flex-direction:column;gap:6px;}
  .field label{
    font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;
    text-transform:uppercase;color:var(--muted);
  }
  .field input,.field select,.field textarea{
    font-family:var(--body-font);font-size:.92rem;
    padding:10px 12px;border:1px solid var(--mist);border-radius:8px;
    background:var(--linen);color:var(--ink);
  }
  .field input:focus,.field select:focus,.field textarea:focus,
  .field input:focus-visible{
    outline:2px solid var(--leather);outline-offset:1px;border-color:var(--leather);
  }
  .field.span-2{grid-column:span 2;}
  .field.span-3{grid-column:1 / -1;}
  @media (max-width:760px){.field.span-2,.field.span-3{grid-column:1/-1;}}

  .size-breakdown{
    display:grid;grid-template-columns:repeat(6,1fr);gap:10px;
  }
  @media (max-width:760px){.size-breakdown{grid-template-columns:repeat(3,1fr);}}
  .sb-cell{display:flex;flex-direction:column;gap:6px;align-items:center;}
  .sb-cell label{font-family:var(--mono);font-size:.78rem;color:var(--pitch);font-weight:700;}
  .sb-cell input{
    width:100%;text-align:center;padding:8px 4px;
    border:1px solid var(--mist);border-radius:8px;background:var(--linen);
    font-family:var(--mono);
  }

  .checkbox-grid{display:flex;flex-wrap:wrap;gap:14px;}
  .checkbox-grid label{
    display:flex;align-items:center;gap:8px;font-size:.88rem;
    background:var(--linen);border:1px solid var(--mist);
    padding:8px 12px;border-radius:999px;cursor:pointer;
  }
  .checkbox-grid input{accent-color:var(--leather);width:16px;height:16px;}

  .total-line{
    font-family:var(--mono);font-size:.85rem;color:var(--pitch);
    display:flex;justify-content:space-between;align-items:center;
    border-top:1px dashed var(--mist);padding-top:14px;
  }
  .total-line strong{font-size:1.1rem;color:var(--leather);}

  .submit-row{display:flex;justify-content:flex-end;}
  .btn-submit{
    font-family:var(--mono);font-weight:700;letter-spacing:.04em;
    background:var(--pitch);color:var(--linen);border:none;
    padding:14px 30px;border-radius:10px;cursor:pointer;text-transform:uppercase;
    font-size:.85rem;transition:background .15s;
  }
  .btn-submit:hover{background:var(--pitch-deep);}

  .confirm-card{
    border:2px dashed var(--foil);border-radius:14px;padding:28px;
    text-align:center;font-family:var(--mono);
  }
  .confirm-card .ref{
    display:inline-block;margin-top:10px;font-size:1.3rem;font-weight:700;
    color:var(--leather);background:var(--linen);padding:6px 14px;border-radius:8px;
    letter-spacing:.08em;
  }
  .confirm-card p{color:var(--muted);font-family:var(--body-font);margin-top:12px;}

  /* ============ TOAST ============ */
  .toast{
    position:fixed;bottom:22px;right:22px;
    background:var(--pitch);color:var(--linen);
    font-family:var(--mono);font-size:.85rem;
    padding:14px 20px;border-radius:10px;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    transform:translateY(140%);opacity:0;
    transition:transform .35s ease, opacity .35s ease;
    max-width:280px;z-index:100;
  }
  .toast.show{transform:translateY(0);opacity:1;}

  /* ============ MOBILE ============ */
  @media (max-width:600px){
    .topbar{font-size:.66rem;padding:6px 14px;gap:8px;}
    .topbar span:last-child{display:none;}

    header.main{padding:12px 16px;}
    .wordmark{font-size:1.25rem;}
    .main-nav{gap:10px;font-size:.78rem;}
    .main-nav a:nth-child(1),
    .main-nav a:nth-child(2){display:none;}
    .cart-pill{padding:4px 10px;font-size:.74rem;}

    .breadcrumb{font-size:.72rem;padding:12px 16px 0;}

    .product-hero{padding:16px 16px 28px;gap:24px;}
    .jersey-preview{padding:16px;aspect-ratio:4/4.2;}
    #jerseySvg{width:88%;}
    .badge-foil{font-size:.66rem;padding:4px 8px;}

    h1{font-size:1.5rem;}
    .price{font-size:1.5rem;}
    .desc{max-width:100%;}

    .swatch{width:30px;height:30px;}
    .size-btn{min-width:40px;font-size:.8rem;padding:8px 4px;}

    .custom-inputs{flex-direction:column;}
    .custom-inputs input#jerseyNameInput,
    .custom-inputs input#jerseyNumInput{width:100%;}

    .qty-row{flex-direction:column;}
    .stepper{justify-content:center;width:100%;}
    .qty-row .btn{width:100%;min-width:0;}

    .details{padding:0 16px 40px;}
    .tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;flex-wrap:nowrap;}
    .tab-btn{font-size:.78rem;margin-right:14px;flex:0 0 auto;}
    .size-table{font-size:.78rem;}
    .size-table th,.size-table td{padding:6px 8px;}

    .ticket-divider{padding:0 16px;gap:8px;}
    .ticket-label{font-size:.62rem;padding:6px 10px;letter-spacing:.06em;}
    .perf-line::before,.perf-line::after{width:16px;height:16px;top:-8px;}
    .perf-line::before{left:-8px;}
    .perf-line::after{right:-8px;}

    .bulk-section{padding:28px 16px 48px;}
    .stat-row{gap:10px;}
    .stat-card{min-width:0;flex:1 1 calc(50% - 5px);padding:12px 14px;}

    .bulk-form{padding:18px;}
    .size-breakdown{grid-template-columns:repeat(2,1fr);}

    .submit-row{justify-content:stretch;}
    .btn-submit{width:100%;}

    .confirm-card{padding:20px;}

    .toast{left:14px;right:14px;bottom:14px;max-width:none;}