    .size-warning-overlay {
      position: fixed; top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(0,0,0,0.45); z-index: 9999; display: none;
      opacity: 0; transition: opacity 0.25s ease;
    }
    .size-warning-overlay.show { display: block; opacity: 1; }
    .size-warning-modal {
      position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%) scale(0.92);
      background: #fff; border-radius: 16px; padding: 40px 36px 32px;
      width: 360px; max-width: 90vw; z-index: 10000; display: none;
      text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,0.2);
      opacity: 0; transition: all 0.25s ease;
    }
    .size-warning-modal.show { display: block; opacity: 1; transform: translate(-50%,-50%) scale(1); }
    .sw-icon {
      width: 64px; height: 64px; border-radius: 50%; background: #fef6e7;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 16px; font-size: 26px; color: var(--gold);
    }
    .size-warning-modal h4 {
      font-family: var(--font-display); font-size: 18px; font-weight: 700;
      color: var(--dark); margin: 0 0 8px;
    }
    .size-warning-modal p {
      font-size: 14px; color: var(--muted); line-height: 1.6; margin: 0 0 24px;
    }
    .sw-btn {
      background: var(--gold); color: #fff; border: none; border-radius: 8px;
      padding: 12px 40px; font-size: 13px; font-weight: 600; cursor: pointer;
      font-family: var(--font-body); transition: background 0.2s, transform 0.15s;
      letter-spacing: 1px; text-transform: uppercase;
    }
    .sw-btn:hover { background: var(--gold-light); transform: translateY(-1px); }
